Commit 32a7cf36f08bf4cb7447cc777f83869a9d0fb22a

Authored by Eder Soares
2 parents 5a64036a e913d4b4
Exists in 2.9 and in 3 other branches 2.6, 2.7, 2.8

Merge branch 'master' into laravel-8

@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 composer-plug-and-play.json 9 composer-plug-and-play.json
10 composer-plug-and-play.lock 10 composer-plug-and-play.lock
11 laravel-echo-server.json 11 laravel-echo-server.json
  12 +package-lock.json
12 13
13 ieducar-*.tar.gz 14 ieducar-*.tar.gz
14 .env 15 .env
@@ -5,44 +5,6 @@ matrix: @@ -5,44 +5,6 @@ matrix:
5 - language: php 5 - language: php
6 6
7 php: 7 php:
8 - - '7.3'  
9 -  
10 - sudo: required  
11 -  
12 - dist: xenial  
13 -  
14 - addons:  
15 - postgresql: '9.5'  
16 - chrome: stable  
17 -  
18 - cache:  
19 - directories:  
20 - - $HOME/.composer/cache  
21 -  
22 - before_script:  
23 - - composer self-update --1  
24 - - composer new-install  
25 - - php artisan serve > /dev/null 2>&1 &  
26 -  
27 - script:  
28 - - vendor/bin/phpunit  
29 - - vendor/bin/phpunit --testsuite Diario  
30 -  
31 - env:  
32 - - APP_URL=http://localhost:8000  
33 - - APP_ENV=testing  
34 - - DB_CONNECTION=pgsql  
35 - - DB_HOST=localhost  
36 - - DB_PORT=5432  
37 - - DB_DATABASE=travis  
38 - - DB_USERNAME=postgres  
39 - - DB_PASSWORD=  
40 - - API_ACCESS_KEY=ieducar-access-key  
41 - - API_SECRET_KEY=ieducar-secret-key  
42 -  
43 - - language: php  
44 -  
45 - php:  
46 - '7.4' 8 - '7.4'
47 9
48 sudo: required 10 sudo: required
@@ -58,9 +20,7 @@ matrix: @@ -58,9 +20,7 @@ matrix:
58 - $HOME/.composer/cache 20 - $HOME/.composer/cache
59 21
60 before_script: 22 before_script:
61 - - composer self-update --1  
62 - composer new-install 23 - composer new-install
63 - - php artisan serve > /dev/null 2>&1 &  
64 24
65 script: 25 script:
66 - vendor/bin/phpunit 26 - vendor/bin/phpunit
app/Console/Kernel.php
@@ -27,6 +27,8 @@ class Kernel extends ConsoleKernel @@ -27,6 +27,8 @@ class Kernel extends ConsoleKernel
27 protected function schedule(Schedule $schedule) 27 protected function schedule(Schedule $schedule)
28 { 28 {
29 $schedule->job(new TenantsJob(CheckInstitutionConfigurationsJob::class))->cron('0 8 1 1 *'); 29 $schedule->job(new TenantsJob(CheckInstitutionConfigurationsJob::class))->cron('0 8 1 1 *');
  30 +
  31 + $schedule->command('horizon:snapshot')->everyFiveMinutes();
30 } 32 }
31 33
32 /** 34 /**
app/Jobs/BatchExemptionJob.php
@@ -37,6 +37,10 @@ class BatchExemptionJob implements ShouldQueue @@ -37,6 +37,10 @@ class BatchExemptionJob implements ShouldQueue
37 */ 37 */
38 private $user; 38 private $user;
39 39
  40 + /**
  41 + * @var int
  42 + */
  43 + public $timeout = 600;
40 44
41 public function __construct(BatchExemptionService $batchExemptionService, $databaseConnection, User $user) 45 public function __construct(BatchExemptionService $batchExemptionService, $databaseConnection, User $user)
42 { 46 {
app/Models/LegacyPersonAddress.php
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
6 use Illuminate\Database\Eloquent\Model; 6 use Illuminate\Database\Eloquent\Model;
7 7
8 /** 8 /**
  9 + * @deprecated
9 * @property string $name 10 * @property string $name
10 */ 11 */
11 class LegacyPersonAddress extends Model 12 class LegacyPersonAddress extends Model
@@ -3,14 +3,14 @@ @@ -3,14 +3,14 @@
3 "description": "Software livre de gestão escolar", 3 "description": "Software livre de gestão escolar",
4 "type": "project", 4 "type": "project",
5 "license": "GPL-2.0-or-later", 5 "license": "GPL-2.0-or-later",
6 - "version": "2.4.2", 6 + "version": "2.5.1",
7 "keywords": [ 7 "keywords": [
8 "Portabilis", 8 "Portabilis",
9 "i-Educar" 9 "i-Educar"
10 ], 10 ],
11 "homepage": "https://github.com/portabilis/i-educar", 11 "homepage": "https://github.com/portabilis/i-educar",
12 "require": { 12 "require": {
13 - "php": "^7.3", 13 + "php": "^7.4",
14 "ext-gd": "*", 14 "ext-gd": "*",
15 "ext-json": "*", 15 "ext-json": "*",
16 "ext-pdo": "*", 16 "ext-pdo": "*",
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 "cocur/slugify": "^3.1", 19 "cocur/slugify": "^3.1",
20 "composer/semver": "^1.4", 20 "composer/semver": "^1.4",
21 "cossou/jasperphp": "^2.7", 21 "cossou/jasperphp": "^2.7",
22 - "dex/composer-plug-and-play": "^0.1.0", 22 + "dex/composer-plug-and-play": "~0.1",
23 "doctrine/dbal": "^2.9", 23 "doctrine/dbal": "^2.9",
24 "fideloper/proxy": "^4.4", 24 "fideloper/proxy": "^4.4",
25 "fruitcake/laravel-cors": "^2.0", 25 "fruitcake/laravel-cors": "^2.0",
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5 "This file is @generated automatically" 5 "This file is @generated automatically"
6 ], 6 ],
7 - "content-hash": "ff866b618b1b7bb24e67da73c8280761", 7 + "content-hash": "9b461ce01c5b76e2bec8fef3ae4254f9",
8 "packages": [ 8 "packages": [
9 { 9 {
10 "name": "asm89/stack-cors", 10 "name": "asm89/stack-cors",
@@ -64,16 +64,16 @@ @@ -64,16 +64,16 @@
64 }, 64 },
65 { 65 {
66 "name": "aws/aws-sdk-php", 66 "name": "aws/aws-sdk-php",
67 - "version": "3.171.8", 67 + "version": "3.171.20",
68 "source": { 68 "source": {
69 "type": "git", 69 "type": "git",
70 "url": "https://github.com/aws/aws-sdk-php.git", 70 "url": "https://github.com/aws/aws-sdk-php.git",
71 - "reference": "1f7f7c1db844f6c988c93008f902b352c7616da8" 71 + "reference": "02aaf7007c5678a6358ea924cd85531300aa1747"
72 }, 72 },
73 "dist": { 73 "dist": {
74 "type": "zip", 74 "type": "zip",
75 - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1f7f7c1db844f6c988c93008f902b352c7616da8",  
76 - "reference": "1f7f7c1db844f6c988c93008f902b352c7616da8", 75 + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/02aaf7007c5678a6358ea924cd85531300aa1747",
  76 + "reference": "02aaf7007c5678a6358ea924cd85531300aa1747",
77 "shasum": "" 77 "shasum": ""
78 }, 78 },
79 "require": { 79 "require": {
@@ -148,9 +148,9 @@ @@ -148,9 +148,9 @@
148 "support": { 148 "support": {
149 "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", 149 "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
150 "issues": "https://github.com/aws/aws-sdk-php/issues", 150 "issues": "https://github.com/aws/aws-sdk-php/issues",
151 - "source": "https://github.com/aws/aws-sdk-php/tree/3.171.8" 151 + "source": "https://github.com/aws/aws-sdk-php/tree/3.171.20"
152 }, 152 },
153 - "time": "2020-12-29T19:11:15+00:00" 153 + "time": "2021-01-19T19:13:08+00:00"
154 }, 154 },
155 { 155 {
156 "name": "aws/aws-sdk-php-laravel", 156 "name": "aws/aws-sdk-php-laravel",
@@ -478,16 +478,16 @@ @@ -478,16 +478,16 @@
478 }, 478 },
479 { 479 {
480 "name": "dex/composer-plug-and-play", 480 "name": "dex/composer-plug-and-play",
481 - "version": "0.1.0", 481 + "version": "0.2.0",
482 "source": { 482 "source": {
483 "type": "git", 483 "type": "git",
484 "url": "https://github.com/edersoares/composer-plug-and-play.git", 484 "url": "https://github.com/edersoares/composer-plug-and-play.git",
485 - "reference": "0080cc733392108bb24822344938297198dc0a54" 485 + "reference": "90660dcb1131d4c2236ee6c50ad9caa50995bfa5"
486 }, 486 },
487 "dist": { 487 "dist": {
488 "type": "zip", 488 "type": "zip",
489 - "url": "https://api.github.com/repos/edersoares/composer-plug-and-play/zipball/0080cc733392108bb24822344938297198dc0a54",  
490 - "reference": "0080cc733392108bb24822344938297198dc0a54", 489 + "url": "https://api.github.com/repos/edersoares/composer-plug-and-play/zipball/90660dcb1131d4c2236ee6c50ad9caa50995bfa5",
  490 + "reference": "90660dcb1131d4c2236ee6c50ad9caa50995bfa5",
491 "shasum": "" 491 "shasum": ""
492 }, 492 },
493 "require": { 493 "require": {
@@ -522,9 +522,9 @@ @@ -522,9 +522,9 @@
522 "description": "Plug and play packages for Composer", 522 "description": "Plug and play packages for Composer",
523 "support": { 523 "support": {
524 "issues": "https://github.com/edersoares/composer-plug-and-play/issues", 524 "issues": "https://github.com/edersoares/composer-plug-and-play/issues",
525 - "source": "https://github.com/edersoares/composer-plug-and-play/tree/0.1.0" 525 + "source": "https://github.com/edersoares/composer-plug-and-play/tree/0.2.0"
526 }, 526 },
527 - "time": "2020-11-24T02:58:23+00:00" 527 + "time": "2021-01-05T21:12:34+00:00"
528 }, 528 },
529 { 529 {
530 "name": "dnoegel/php-xdg-base-dir", 530 "name": "dnoegel/php-xdg-base-dir",
@@ -1173,6 +1173,60 @@ @@ -1173,6 +1173,60 @@
1173 "time": "2020-12-29T14:50:06+00:00" 1173 "time": "2020-12-29T14:50:06+00:00"
1174 }, 1174 },
1175 { 1175 {
  1176 + "name": "ezyang/htmlpurifier",
  1177 + "version": "v4.13.0",
  1178 + "source": {
  1179 + "type": "git",
  1180 + "url": "https://github.com/ezyang/htmlpurifier.git",
  1181 + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75"
  1182 + },
  1183 + "dist": {
  1184 + "type": "zip",
  1185 + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
  1186 + "reference": "08e27c97e4c6ed02f37c5b2b20488046c8d90d75",
  1187 + "shasum": ""
  1188 + },
  1189 + "require": {
  1190 + "php": ">=5.2"
  1191 + },
  1192 + "require-dev": {
  1193 + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd"
  1194 + },
  1195 + "type": "library",
  1196 + "autoload": {
  1197 + "psr-0": {
  1198 + "HTMLPurifier": "library/"
  1199 + },
  1200 + "files": [
  1201 + "library/HTMLPurifier.composer.php"
  1202 + ],
  1203 + "exclude-from-classmap": [
  1204 + "/library/HTMLPurifier/Language/"
  1205 + ]
  1206 + },
  1207 + "notification-url": "https://packagist.org/downloads/",
  1208 + "license": [
  1209 + "LGPL-2.1-or-later"
  1210 + ],
  1211 + "authors": [
  1212 + {
  1213 + "name": "Edward Z. Yang",
  1214 + "email": "admin@htmlpurifier.org",
  1215 + "homepage": "http://ezyang.com"
  1216 + }
  1217 + ],
  1218 + "description": "Standards compliant HTML filter written in PHP",
  1219 + "homepage": "http://htmlpurifier.org/",
  1220 + "keywords": [
  1221 + "html"
  1222 + ],
  1223 + "support": {
  1224 + "issues": "https://github.com/ezyang/htmlpurifier/issues",
  1225 + "source": "https://github.com/ezyang/htmlpurifier/tree/master"
  1226 + },
  1227 + "time": "2020-06-29T00:56:53+00:00"
  1228 + },
  1229 + {
1176 "name": "fideloper/proxy", 1230 "name": "fideloper/proxy",
1177 "version": "4.4.1", 1231 "version": "4.4.1",
1178 "source": { 1232 "source": {
@@ -1866,16 +1920,16 @@ @@ -1866,16 +1920,16 @@
1866 }, 1920 },
1867 { 1921 {
1868 "name": "laravel/framework", 1922 "name": "laravel/framework",
1869 - "version": "v8.20.1", 1923 + "version": "v8.23.1",
1870 "source": { 1924 "source": {
1871 "type": "git", 1925 "type": "git",
1872 "url": "https://github.com/laravel/framework.git", 1926 "url": "https://github.com/laravel/framework.git",
1873 - "reference": "b5d8573ab16027867eaa1ac148893833434f9b02" 1927 + "reference": "a813df1b248ca305e5f5ce23ea981ed6c6905504"
1874 }, 1928 },
1875 "dist": { 1929 "dist": {
1876 "type": "zip", 1930 "type": "zip",
1877 - "url": "https://api.github.com/repos/laravel/framework/zipball/b5d8573ab16027867eaa1ac148893833434f9b02",  
1878 - "reference": "b5d8573ab16027867eaa1ac148893833434f9b02", 1931 + "url": "https://api.github.com/repos/laravel/framework/zipball/a813df1b248ca305e5f5ce23ea981ed6c6905504",
  1932 + "reference": "a813df1b248ca305e5f5ce23ea981ed6c6905504",
1879 "shasum": "" 1933 "shasum": ""
1880 }, 1934 },
1881 "require": { 1935 "require": {
@@ -2029,29 +2083,29 @@ @@ -2029,29 +2083,29 @@
2029 "issues": "https://github.com/laravel/framework/issues", 2083 "issues": "https://github.com/laravel/framework/issues",
2030 "source": "https://github.com/laravel/framework" 2084 "source": "https://github.com/laravel/framework"
2031 }, 2085 },
2032 - "time": "2020-12-22T21:21:19+00:00" 2086 + "time": "2021-01-19T14:10:48+00:00"
2033 }, 2087 },
2034 { 2088 {
2035 "name": "laravel/horizon", 2089 "name": "laravel/horizon",
2036 - "version": "v5.6.3", 2090 + "version": "v5.6.5",
2037 "source": { 2091 "source": {
2038 "type": "git", 2092 "type": "git",
2039 "url": "https://github.com/laravel/horizon.git", 2093 "url": "https://github.com/laravel/horizon.git",
2040 - "reference": "f91245c1b32289da8dfdd3f66f13fe79dde347fd" 2094 + "reference": "9f0ed546f82e2290e6c8de6151d4da8d29f34a0f"
2041 }, 2095 },
2042 "dist": { 2096 "dist": {
2043 "type": "zip", 2097 "type": "zip",
2044 - "url": "https://api.github.com/repos/laravel/horizon/zipball/f91245c1b32289da8dfdd3f66f13fe79dde347fd",  
2045 - "reference": "f91245c1b32289da8dfdd3f66f13fe79dde347fd", 2098 + "url": "https://api.github.com/repos/laravel/horizon/zipball/9f0ed546f82e2290e6c8de6151d4da8d29f34a0f",
  2099 + "reference": "9f0ed546f82e2290e6c8de6151d4da8d29f34a0f",
2046 "shasum": "" 2100 "shasum": ""
2047 }, 2101 },
2048 "require": { 2102 "require": {
2049 "ext-json": "*", 2103 "ext-json": "*",
2050 "ext-pcntl": "*", 2104 "ext-pcntl": "*",
2051 "ext-posix": "*", 2105 "ext-posix": "*",
2052 - "illuminate/contracts": "^8.0",  
2053 - "illuminate/queue": "^8.0",  
2054 - "illuminate/support": "^8.0", 2106 + "illuminate/contracts": "^8.17",
  2107 + "illuminate/queue": "^8.17",
  2108 + "illuminate/support": "^8.17",
2055 "nesbot/carbon": "^2.17", 2109 "nesbot/carbon": "^2.17",
2056 "php": "^7.3|^8.0", 2110 "php": "^7.3|^8.0",
2057 "ramsey/uuid": "^4.0", 2111 "ramsey/uuid": "^4.0",
@@ -2104,9 +2158,9 @@ @@ -2104,9 +2158,9 @@
2104 ], 2158 ],
2105 "support": { 2159 "support": {
2106 "issues": "https://github.com/laravel/horizon/issues", 2160 "issues": "https://github.com/laravel/horizon/issues",
2107 - "source": "https://github.com/laravel/horizon/tree/v5.6.3" 2161 + "source": "https://github.com/laravel/horizon/tree/v5.6.5"
2108 }, 2162 },
2109 - "time": "2020-12-22T17:03:05+00:00" 2163 + "time": "2021-01-12T16:51:53+00:00"
2110 }, 2164 },
2111 { 2165 {
2112 "name": "laravel/legacy-factories", 2166 "name": "laravel/legacy-factories",
@@ -2234,16 +2288,16 @@ @@ -2234,16 +2288,16 @@
2234 }, 2288 },
2235 { 2289 {
2236 "name": "laravel/ui", 2290 "name": "laravel/ui",
2237 - "version": "v3.1.0", 2291 + "version": "v3.2.0",
2238 "source": { 2292 "source": {
2239 "type": "git", 2293 "type": "git",
2240 "url": "https://github.com/laravel/ui.git", 2294 "url": "https://github.com/laravel/ui.git",
2241 - "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7" 2295 + "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351"
2242 }, 2296 },
2243 "dist": { 2297 "dist": {
2244 "type": "zip", 2298 "type": "zip",
2245 - "url": "https://api.github.com/repos/laravel/ui/zipball/444072cb2f8baaa15172c5cde2bd30d188c3b7e7",  
2246 - "reference": "444072cb2f8baaa15172c5cde2bd30d188c3b7e7", 2299 + "url": "https://api.github.com/repos/laravel/ui/zipball/a1f82c6283c8373ea1958b8a27c3d5c98cade351",
  2300 + "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351",
2247 "shasum": "" 2301 "shasum": ""
2248 }, 2302 },
2249 "require": { 2303 "require": {
@@ -2286,9 +2340,9 @@ @@ -2286,9 +2340,9 @@
2286 ], 2340 ],
2287 "support": { 2341 "support": {
2288 "issues": "https://github.com/laravel/ui/issues", 2342 "issues": "https://github.com/laravel/ui/issues",
2289 - "source": "https://github.com/laravel/ui/tree/v3.1.0" 2343 + "source": "https://github.com/laravel/ui/tree/v3.2.0"
2290 }, 2344 },
2291 - "time": "2020-11-03T19:51:21+00:00" 2345 + "time": "2021-01-06T19:20:22+00:00"
2292 }, 2346 },
2293 { 2347 {
2294 "name": "league/commonmark", 2348 "name": "league/commonmark",
@@ -2720,16 +2774,16 @@ @@ -2720,16 +2774,16 @@
2720 }, 2774 },
2721 { 2775 {
2722 "name": "league/mime-type-detection", 2776 "name": "league/mime-type-detection",
2723 - "version": "1.5.1", 2777 + "version": "1.7.0",
2724 "source": { 2778 "source": {
2725 "type": "git", 2779 "type": "git",
2726 "url": "https://github.com/thephpleague/mime-type-detection.git", 2780 "url": "https://github.com/thephpleague/mime-type-detection.git",
2727 - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa" 2781 + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3"
2728 }, 2782 },
2729 "dist": { 2783 "dist": {
2730 "type": "zip", 2784 "type": "zip",
2731 - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa",  
2732 - "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa", 2785 + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3",
  2786 + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3",
2733 "shasum": "" 2787 "shasum": ""
2734 }, 2788 },
2735 "require": { 2789 "require": {
@@ -2737,8 +2791,9 @@ @@ -2737,8 +2791,9 @@
2737 "php": "^7.2 || ^8.0" 2791 "php": "^7.2 || ^8.0"
2738 }, 2792 },
2739 "require-dev": { 2793 "require-dev": {
2740 - "phpstan/phpstan": "^0.12.36",  
2741 - "phpunit/phpunit": "^8.5.8" 2794 + "friendsofphp/php-cs-fixer": "^2.18",
  2795 + "phpstan/phpstan": "^0.12.68",
  2796 + "phpunit/phpunit": "^8.5.8 || ^9.3"
2742 }, 2797 },
2743 "type": "library", 2798 "type": "library",
2744 "autoload": { 2799 "autoload": {
@@ -2759,7 +2814,7 @@ @@ -2759,7 +2814,7 @@
2759 "description": "Mime-type detection for Flysystem", 2814 "description": "Mime-type detection for Flysystem",
2760 "support": { 2815 "support": {
2761 "issues": "https://github.com/thephpleague/mime-type-detection/issues", 2816 "issues": "https://github.com/thephpleague/mime-type-detection/issues",
2762 - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.5.1" 2817 + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0"
2763 }, 2818 },
2764 "funding": [ 2819 "funding": [
2765 { 2820 {
@@ -2771,7 +2826,7 @@ @@ -2771,7 +2826,7 @@
2771 "type": "tidelift" 2826 "type": "tidelift"
2772 } 2827 }
2773 ], 2828 ],
2774 - "time": "2020-10-18T11:50:25+00:00" 2829 + "time": "2021-01-18T20:58:21+00:00"
2775 }, 2830 },
2776 { 2831 {
2777 "name": "maatwebsite/excel", 2832 "name": "maatwebsite/excel",
@@ -3023,20 +3078,20 @@ @@ -3023,20 +3078,20 @@
3023 }, 3078 },
3024 { 3079 {
3025 "name": "markbaker/matrix", 3080 "name": "markbaker/matrix",
3026 - "version": "2.0.0", 3081 + "version": "2.1.0",
3027 "source": { 3082 "source": {
3028 "type": "git", 3083 "type": "git",
3029 "url": "https://github.com/MarkBaker/PHPMatrix.git", 3084 "url": "https://github.com/MarkBaker/PHPMatrix.git",
3030 - "reference": "9567d9c4c519fbe40de01dbd1e4469dbbb66f46a" 3085 + "reference": "9b16a8544a00ac9f9354535ef64d0109f65e300e"
3031 }, 3086 },
3032 "dist": { 3087 "dist": {
3033 "type": "zip", 3088 "type": "zip",
3034 - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/9567d9c4c519fbe40de01dbd1e4469dbbb66f46a",  
3035 - "reference": "9567d9c4c519fbe40de01dbd1e4469dbbb66f46a", 3089 + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/9b16a8544a00ac9f9354535ef64d0109f65e300e",
  3090 + "reference": "9b16a8544a00ac9f9354535ef64d0109f65e300e",
3036 "shasum": "" 3091 "shasum": ""
3037 }, 3092 },
3038 "require": { 3093 "require": {
3039 - "php": "^7.2 || ^8.0" 3094 + "php": "^7.1 || ^8.0"
3040 }, 3095 },
3041 "require-dev": { 3096 "require-dev": {
3042 "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", 3097 "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
@@ -3054,22 +3109,22 @@ @@ -3054,22 +3109,22 @@
3054 "Matrix\\": "classes/src/" 3109 "Matrix\\": "classes/src/"
3055 }, 3110 },
3056 "files": [ 3111 "files": [
3057 - "classes/src/functions/adjoint.php",  
3058 - "classes/src/functions/antidiagonal.php",  
3059 - "classes/src/functions/cofactors.php",  
3060 - "classes/src/functions/determinant.php",  
3061 - "classes/src/functions/diagonal.php",  
3062 - "classes/src/functions/identity.php",  
3063 - "classes/src/functions/inverse.php",  
3064 - "classes/src/functions/minors.php",  
3065 - "classes/src/functions/trace.php",  
3066 - "classes/src/functions/transpose.php",  
3067 - "classes/src/operations/add.php",  
3068 - "classes/src/operations/directsum.php",  
3069 - "classes/src/operations/subtract.php",  
3070 - "classes/src/operations/multiply.php",  
3071 - "classes/src/operations/divideby.php",  
3072 - "classes/src/operations/divideinto.php" 3112 + "classes/src/Functions/adjoint.php",
  3113 + "classes/src/Functions/antidiagonal.php",
  3114 + "classes/src/Functions/cofactors.php",
  3115 + "classes/src/Functions/determinant.php",
  3116 + "classes/src/Functions/diagonal.php",
  3117 + "classes/src/Functions/identity.php",
  3118 + "classes/src/Functions/inverse.php",
  3119 + "classes/src/Functions/minors.php",
  3120 + "classes/src/Functions/trace.php",
  3121 + "classes/src/Functions/transpose.php",
  3122 + "classes/src/Operations/add.php",
  3123 + "classes/src/Operations/directsum.php",
  3124 + "classes/src/Operations/subtract.php",
  3125 + "classes/src/Operations/multiply.php",
  3126 + "classes/src/Operations/divideby.php",
  3127 + "classes/src/Operations/divideinto.php"
3073 ] 3128 ]
3074 }, 3129 },
3075 "notification-url": "https://packagist.org/downloads/", 3130 "notification-url": "https://packagist.org/downloads/",
@@ -3091,9 +3146,9 @@ @@ -3091,9 +3146,9 @@
3091 ], 3146 ],
3092 "support": { 3147 "support": {
3093 "issues": "https://github.com/MarkBaker/PHPMatrix/issues", 3148 "issues": "https://github.com/MarkBaker/PHPMatrix/issues",
3094 - "source": "https://github.com/MarkBaker/PHPMatrix/tree/PHP8" 3149 + "source": "https://github.com/MarkBaker/PHPMatrix/tree/2.1.0"
3095 }, 3150 },
3096 - "time": "2020-08-28T17:11:00+00:00" 3151 + "time": "2021-01-20T18:10:04+00:00"
3097 }, 3152 },
3098 { 3153 {
3099 "name": "mll-lab/graphql-php-scalars", 3154 "name": "mll-lab/graphql-php-scalars",
@@ -3699,16 +3754,16 @@ @@ -3699,16 +3754,16 @@
3699 }, 3754 },
3700 { 3755 {
3701 "name": "phpoffice/phpspreadsheet", 3756 "name": "phpoffice/phpspreadsheet",
3702 - "version": "1.15.0", 3757 + "version": "1.16.0",
3703 "source": { 3758 "source": {
3704 "type": "git", 3759 "type": "git",
3705 "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", 3760 "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
3706 - "reference": "a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f" 3761 + "reference": "76d4323b85129d0c368149c831a07a3e258b2b50"
3707 }, 3762 },
3708 "dist": { 3763 "dist": {
3709 "type": "zip", 3764 "type": "zip",
3710 - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f",  
3711 - "reference": "a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f", 3765 + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/76d4323b85129d0c368149c831a07a3e258b2b50",
  3766 + "reference": "76d4323b85129d0c368149c831a07a3e258b2b50",
3712 "shasum": "" 3767 "shasum": ""
3713 }, 3768 },
3714 "require": { 3769 "require": {
@@ -3725,10 +3780,11 @@ @@ -3725,10 +3780,11 @@
3725 "ext-xmlwriter": "*", 3780 "ext-xmlwriter": "*",
3726 "ext-zip": "*", 3781 "ext-zip": "*",
3727 "ext-zlib": "*", 3782 "ext-zlib": "*",
  3783 + "ezyang/htmlpurifier": "^4.13",
3728 "maennchen/zipstream-php": "^2.1", 3784 "maennchen/zipstream-php": "^2.1",
3729 - "markbaker/complex": "^1.5|^2.0",  
3730 - "markbaker/matrix": "^1.2|^2.0",  
3731 - "php": "^7.2|^8.0", 3785 + "markbaker/complex": "^1.5||^2.0",
  3786 + "markbaker/matrix": "^1.2||^2.0",
  3787 + "php": "^7.2||^8.0",
3732 "psr/http-client": "^1.0", 3788 "psr/http-client": "^1.0",
3733 "psr/http-factory": "^1.0", 3789 "psr/http-factory": "^1.0",
3734 "psr/simple-cache": "^1.0" 3790 "psr/simple-cache": "^1.0"
@@ -3739,7 +3795,7 @@ @@ -3739,7 +3795,7 @@
3739 "jpgraph/jpgraph": "^4.0", 3795 "jpgraph/jpgraph": "^4.0",
3740 "mpdf/mpdf": "^8.0", 3796 "mpdf/mpdf": "^8.0",
3741 "phpcompatibility/php-compatibility": "^9.3", 3797 "phpcompatibility/php-compatibility": "^9.3",
3742 - "phpunit/phpunit": "^8.5|^9.3", 3798 + "phpunit/phpunit": "^8.5||^9.3",
3743 "squizlabs/php_codesniffer": "^3.5", 3799 "squizlabs/php_codesniffer": "^3.5",
3744 "tecnickcom/tcpdf": "^6.3" 3800 "tecnickcom/tcpdf": "^6.3"
3745 }, 3801 },
@@ -3793,9 +3849,9 @@ @@ -3793,9 +3849,9 @@
3793 ], 3849 ],
3794 "support": { 3850 "support": {
3795 "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", 3851 "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
3796 - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.15.0" 3852 + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.16.0"
3797 }, 3853 },
3798 - "time": "2020-10-11T13:20:59+00:00" 3854 + "time": "2020-12-31T18:03:49+00:00"
3799 }, 3855 },
3800 { 3856 {
3801 "name": "phpoption/phpoption", 3857 "name": "phpoption/phpoption",
@@ -4469,16 +4525,16 @@ @@ -4469,16 +4525,16 @@
4469 }, 4525 },
4470 { 4526 {
4471 "name": "psy/psysh", 4527 "name": "psy/psysh",
4472 - "version": "v0.10.5", 4528 + "version": "v0.10.6",
4473 "source": { 4529 "source": {
4474 "type": "git", 4530 "type": "git",
4475 "url": "https://github.com/bobthecow/psysh.git", 4531 "url": "https://github.com/bobthecow/psysh.git",
4476 - "reference": "7c710551d4a2653afa259c544508dc18a9098956" 4532 + "reference": "6f990c19f91729de8b31e639d6e204ea59f19cf3"
4477 }, 4533 },
4478 "dist": { 4534 "dist": {
4479 "type": "zip", 4535 "type": "zip",
4480 - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/7c710551d4a2653afa259c544508dc18a9098956",  
4481 - "reference": "7c710551d4a2653afa259c544508dc18a9098956", 4536 + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6f990c19f91729de8b31e639d6e204ea59f19cf3",
  4537 + "reference": "6f990c19f91729de8b31e639d6e204ea59f19cf3",
4482 "shasum": "" 4538 "shasum": ""
4483 }, 4539 },
4484 "require": { 4540 "require": {
@@ -4507,7 +4563,7 @@ @@ -4507,7 +4563,7 @@
4507 "type": "library", 4563 "type": "library",
4508 "extra": { 4564 "extra": {
4509 "branch-alias": { 4565 "branch-alias": {
4510 - "dev-master": "0.10.x-dev" 4566 + "dev-main": "0.10.x-dev"
4511 } 4567 }
4512 }, 4568 },
4513 "autoload": { 4569 "autoload": {
@@ -4539,9 +4595,9 @@ @@ -4539,9 +4595,9 @@
4539 ], 4595 ],
4540 "support": { 4596 "support": {
4541 "issues": "https://github.com/bobthecow/psysh/issues", 4597 "issues": "https://github.com/bobthecow/psysh/issues",
4542 - "source": "https://github.com/bobthecow/psysh/tree/v0.10.5" 4598 + "source": "https://github.com/bobthecow/psysh/tree/v0.10.6"
4543 }, 4599 },
4544 - "time": "2020-12-04T02:51:30+00:00" 4600 + "time": "2021-01-18T15:53:43+00:00"
4545 }, 4601 },
4546 { 4602 {
4547 "name": "ralouphie/getallheaders", 4603 "name": "ralouphie/getallheaders",
@@ -4869,16 +4925,16 @@ @@ -4869,16 +4925,16 @@
4869 }, 4925 },
4870 { 4926 {
4871 "name": "swiftmailer/swiftmailer", 4927 "name": "swiftmailer/swiftmailer",
4872 - "version": "v6.2.4", 4928 + "version": "v6.2.5",
4873 "source": { 4929 "source": {
4874 "type": "git", 4930 "type": "git",
4875 "url": "https://github.com/swiftmailer/swiftmailer.git", 4931 "url": "https://github.com/swiftmailer/swiftmailer.git",
4876 - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e" 4932 + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7"
4877 }, 4933 },
4878 "dist": { 4934 "dist": {
4879 "type": "zip", 4935 "type": "zip",
4880 - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e",  
4881 - "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", 4936 + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7",
  4937 + "reference": "698a6a9f54d7eb321274de3ad19863802c879fb7",
4882 "shasum": "" 4938 "shasum": ""
4883 }, 4939 },
4884 "require": { 4940 "require": {
@@ -4928,7 +4984,7 @@ @@ -4928,7 +4984,7 @@
4928 ], 4984 ],
4929 "support": { 4985 "support": {
4930 "issues": "https://github.com/swiftmailer/swiftmailer/issues", 4986 "issues": "https://github.com/swiftmailer/swiftmailer/issues",
4931 - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4" 4987 + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.5"
4932 }, 4988 },
4933 "funding": [ 4989 "funding": [
4934 { 4990 {
@@ -4940,7 +4996,7 @@ @@ -4940,7 +4996,7 @@
4940 "type": "tidelift" 4996 "type": "tidelift"
4941 } 4997 }
4942 ], 4998 ],
4943 - "time": "2020-12-08T18:02:06+00:00" 4999 + "time": "2021-01-12T09:35:59+00:00"
4944 }, 5000 },
4945 { 5001 {
4946 "name": "symfony/console", 5002 "name": "symfony/console",
@@ -5811,16 +5867,16 @@ @@ -5811,16 +5867,16 @@
5811 }, 5867 },
5812 { 5868 {
5813 "name": "symfony/polyfill-ctype", 5869 "name": "symfony/polyfill-ctype",
5814 - "version": "v1.20.0", 5870 + "version": "v1.22.0",
5815 "source": { 5871 "source": {
5816 "type": "git", 5872 "type": "git",
5817 "url": "https://github.com/symfony/polyfill-ctype.git", 5873 "url": "https://github.com/symfony/polyfill-ctype.git",
5818 - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" 5874 + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
5819 }, 5875 },
5820 "dist": { 5876 "dist": {
5821 "type": "zip", 5877 "type": "zip",
5822 - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41",  
5823 - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", 5878 + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
  5879 + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
5824 "shasum": "" 5880 "shasum": ""
5825 }, 5881 },
5826 "require": { 5882 "require": {
@@ -5832,7 +5888,7 @@ @@ -5832,7 +5888,7 @@
5832 "type": "library", 5888 "type": "library",
5833 "extra": { 5889 "extra": {
5834 "branch-alias": { 5890 "branch-alias": {
5835 - "dev-main": "1.20-dev" 5891 + "dev-main": "1.22-dev"
5836 }, 5892 },
5837 "thanks": { 5893 "thanks": {
5838 "name": "symfony/polyfill", 5894 "name": "symfony/polyfill",
@@ -5870,7 +5926,7 @@ @@ -5870,7 +5926,7 @@
5870 "portable" 5926 "portable"
5871 ], 5927 ],
5872 "support": { 5928 "support": {
5873 - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0" 5929 + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
5874 }, 5930 },
5875 "funding": [ 5931 "funding": [
5876 { 5932 {
@@ -5886,20 +5942,20 @@ @@ -5886,20 +5942,20 @@
5886 "type": "tidelift" 5942 "type": "tidelift"
5887 } 5943 }
5888 ], 5944 ],
5889 - "time": "2020-10-23T14:02:19+00:00" 5945 + "time": "2021-01-07T16:49:33+00:00"
5890 }, 5946 },
5891 { 5947 {
5892 "name": "symfony/polyfill-iconv", 5948 "name": "symfony/polyfill-iconv",
5893 - "version": "v1.20.0", 5949 + "version": "v1.22.0",
5894 "source": { 5950 "source": {
5895 "type": "git", 5951 "type": "git",
5896 "url": "https://github.com/symfony/polyfill-iconv.git", 5952 "url": "https://github.com/symfony/polyfill-iconv.git",
5897 - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024" 5953 + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6"
5898 }, 5954 },
5899 "dist": { 5955 "dist": {
5900 "type": "zip", 5956 "type": "zip",
5901 - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/c536646fdb4f29104dd26effc2fdcb9a5b085024",  
5902 - "reference": "c536646fdb4f29104dd26effc2fdcb9a5b085024", 5957 + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6",
  5958 + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6",
5903 "shasum": "" 5959 "shasum": ""
5904 }, 5960 },
5905 "require": { 5961 "require": {
@@ -5911,7 +5967,7 @@ @@ -5911,7 +5967,7 @@
5911 "type": "library", 5967 "type": "library",
5912 "extra": { 5968 "extra": {
5913 "branch-alias": { 5969 "branch-alias": {
5914 - "dev-main": "1.20-dev" 5970 + "dev-main": "1.22-dev"
5915 }, 5971 },
5916 "thanks": { 5972 "thanks": {
5917 "name": "symfony/polyfill", 5973 "name": "symfony/polyfill",
@@ -5950,7 +6006,7 @@ @@ -5950,7 +6006,7 @@
5950 "shim" 6006 "shim"
5951 ], 6007 ],
5952 "support": { 6008 "support": {
5953 - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.20.0" 6009 + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.0"
5954 }, 6010 },
5955 "funding": [ 6011 "funding": [
5956 { 6012 {
@@ -5966,20 +6022,20 @@ @@ -5966,20 +6022,20 @@
5966 "type": "tidelift" 6022 "type": "tidelift"
5967 } 6023 }
5968 ], 6024 ],
5969 - "time": "2020-10-23T14:02:19+00:00" 6025 + "time": "2021-01-07T16:49:33+00:00"
5970 }, 6026 },
5971 { 6027 {
5972 "name": "symfony/polyfill-intl-grapheme", 6028 "name": "symfony/polyfill-intl-grapheme",
5973 - "version": "v1.20.0", 6029 + "version": "v1.22.0",
5974 "source": { 6030 "source": {
5975 "type": "git", 6031 "type": "git",
5976 "url": "https://github.com/symfony/polyfill-intl-grapheme.git", 6032 "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
5977 - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" 6033 + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af"
5978 }, 6034 },
5979 "dist": { 6035 "dist": {
5980 "type": "zip", 6036 "type": "zip",
5981 - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c",  
5982 - "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", 6037 + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af",
  6038 + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af",
5983 "shasum": "" 6039 "shasum": ""
5984 }, 6040 },
5985 "require": { 6041 "require": {
@@ -5991,7 +6047,7 @@ @@ -5991,7 +6047,7 @@
5991 "type": "library", 6047 "type": "library",
5992 "extra": { 6048 "extra": {
5993 "branch-alias": { 6049 "branch-alias": {
5994 - "dev-main": "1.20-dev" 6050 + "dev-main": "1.22-dev"
5995 }, 6051 },
5996 "thanks": { 6052 "thanks": {
5997 "name": "symfony/polyfill", 6053 "name": "symfony/polyfill",
@@ -6031,7 +6087,7 @@ @@ -6031,7 +6087,7 @@
6031 "shim" 6087 "shim"
6032 ], 6088 ],
6033 "support": { 6089 "support": {
6034 - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.20.0" 6090 + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.0"
6035 }, 6091 },
6036 "funding": [ 6092 "funding": [
6037 { 6093 {
@@ -6047,20 +6103,20 @@ @@ -6047,20 +6103,20 @@
6047 "type": "tidelift" 6103 "type": "tidelift"
6048 } 6104 }
6049 ], 6105 ],
6050 - "time": "2020-10-23T14:02:19+00:00" 6106 + "time": "2021-01-07T16:49:33+00:00"
6051 }, 6107 },
6052 { 6108 {
6053 "name": "symfony/polyfill-intl-idn", 6109 "name": "symfony/polyfill-intl-idn",
6054 - "version": "v1.20.0", 6110 + "version": "v1.22.0",
6055 "source": { 6111 "source": {
6056 "type": "git", 6112 "type": "git",
6057 "url": "https://github.com/symfony/polyfill-intl-idn.git", 6113 "url": "https://github.com/symfony/polyfill-intl-idn.git",
6058 - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" 6114 + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44"
6059 }, 6115 },
6060 "dist": { 6116 "dist": {
6061 "type": "zip", 6117 "type": "zip",
6062 - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117",  
6063 - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", 6118 + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44",
  6119 + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44",
6064 "shasum": "" 6120 "shasum": ""
6065 }, 6121 },
6066 "require": { 6122 "require": {
@@ -6074,7 +6130,7 @@ @@ -6074,7 +6130,7 @@
6074 "type": "library", 6130 "type": "library",
6075 "extra": { 6131 "extra": {
6076 "branch-alias": { 6132 "branch-alias": {
6077 - "dev-main": "1.20-dev" 6133 + "dev-main": "1.22-dev"
6078 }, 6134 },
6079 "thanks": { 6135 "thanks": {
6080 "name": "symfony/polyfill", 6136 "name": "symfony/polyfill",
@@ -6118,7 +6174,7 @@ @@ -6118,7 +6174,7 @@
6118 "shim" 6174 "shim"
6119 ], 6175 ],
6120 "support": { 6176 "support": {
6121 - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.20.0" 6177 + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.0"
6122 }, 6178 },
6123 "funding": [ 6179 "funding": [
6124 { 6180 {
@@ -6134,20 +6190,20 @@ @@ -6134,20 +6190,20 @@
6134 "type": "tidelift" 6190 "type": "tidelift"
6135 } 6191 }
6136 ], 6192 ],
6137 - "time": "2020-10-23T14:02:19+00:00" 6193 + "time": "2021-01-07T16:49:33+00:00"
6138 }, 6194 },
6139 { 6195 {
6140 "name": "symfony/polyfill-intl-normalizer", 6196 "name": "symfony/polyfill-intl-normalizer",
6141 - "version": "v1.20.0", 6197 + "version": "v1.22.0",
6142 "source": { 6198 "source": {
6143 "type": "git", 6199 "type": "git",
6144 "url": "https://github.com/symfony/polyfill-intl-normalizer.git", 6200 "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
6145 - "reference": "727d1096295d807c309fb01a851577302394c897" 6201 + "reference": "6e971c891537eb617a00bb07a43d182a6915faba"
6146 }, 6202 },
6147 "dist": { 6203 "dist": {
6148 "type": "zip", 6204 "type": "zip",
6149 - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897",  
6150 - "reference": "727d1096295d807c309fb01a851577302394c897", 6205 + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba",
  6206 + "reference": "6e971c891537eb617a00bb07a43d182a6915faba",
6151 "shasum": "" 6207 "shasum": ""
6152 }, 6208 },
6153 "require": { 6209 "require": {
@@ -6159,7 +6215,7 @@ @@ -6159,7 +6215,7 @@
6159 "type": "library", 6215 "type": "library",
6160 "extra": { 6216 "extra": {
6161 "branch-alias": { 6217 "branch-alias": {
6162 - "dev-main": "1.20-dev" 6218 + "dev-main": "1.22-dev"
6163 }, 6219 },
6164 "thanks": { 6220 "thanks": {
6165 "name": "symfony/polyfill", 6221 "name": "symfony/polyfill",
@@ -6202,7 +6258,7 @@ @@ -6202,7 +6258,7 @@
6202 "shim" 6258 "shim"
6203 ], 6259 ],
6204 "support": { 6260 "support": {
6205 - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.20.0" 6261 + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0"
6206 }, 6262 },
6207 "funding": [ 6263 "funding": [
6208 { 6264 {
@@ -6218,20 +6274,20 @@ @@ -6218,20 +6274,20 @@
6218 "type": "tidelift" 6274 "type": "tidelift"
6219 } 6275 }
6220 ], 6276 ],
6221 - "time": "2020-10-23T14:02:19+00:00" 6277 + "time": "2021-01-07T17:09:11+00:00"
6222 }, 6278 },
6223 { 6279 {
6224 "name": "symfony/polyfill-mbstring", 6280 "name": "symfony/polyfill-mbstring",
6225 - "version": "v1.20.0", 6281 + "version": "v1.22.0",
6226 "source": { 6282 "source": {
6227 "type": "git", 6283 "type": "git",
6228 "url": "https://github.com/symfony/polyfill-mbstring.git", 6284 "url": "https://github.com/symfony/polyfill-mbstring.git",
6229 - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" 6285 + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13"
6230 }, 6286 },
6231 "dist": { 6287 "dist": {
6232 "type": "zip", 6288 "type": "zip",
6233 - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531",  
6234 - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", 6289 + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13",
  6290 + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13",
6235 "shasum": "" 6291 "shasum": ""
6236 }, 6292 },
6237 "require": { 6293 "require": {
@@ -6243,7 +6299,7 @@ @@ -6243,7 +6299,7 @@
6243 "type": "library", 6299 "type": "library",
6244 "extra": { 6300 "extra": {
6245 "branch-alias": { 6301 "branch-alias": {
6246 - "dev-main": "1.20-dev" 6302 + "dev-main": "1.22-dev"
6247 }, 6303 },
6248 "thanks": { 6304 "thanks": {
6249 "name": "symfony/polyfill", 6305 "name": "symfony/polyfill",
@@ -6282,7 +6338,7 @@ @@ -6282,7 +6338,7 @@
6282 "shim" 6338 "shim"
6283 ], 6339 ],
6284 "support": { 6340 "support": {
6285 - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.20.0" 6341 + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0"
6286 }, 6342 },
6287 "funding": [ 6343 "funding": [
6288 { 6344 {
@@ -6298,20 +6354,20 @@ @@ -6298,20 +6354,20 @@
6298 "type": "tidelift" 6354 "type": "tidelift"
6299 } 6355 }
6300 ], 6356 ],
6301 - "time": "2020-10-23T14:02:19+00:00" 6357 + "time": "2021-01-07T16:49:33+00:00"
6302 }, 6358 },
6303 { 6359 {
6304 "name": "symfony/polyfill-php72", 6360 "name": "symfony/polyfill-php72",
6305 - "version": "v1.20.0", 6361 + "version": "v1.22.0",
6306 "source": { 6362 "source": {
6307 "type": "git", 6363 "type": "git",
6308 "url": "https://github.com/symfony/polyfill-php72.git", 6364 "url": "https://github.com/symfony/polyfill-php72.git",
6309 - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" 6365 + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9"
6310 }, 6366 },
6311 "dist": { 6367 "dist": {
6312 "type": "zip", 6368 "type": "zip",
6313 - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930",  
6314 - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", 6369 + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
  6370 + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
6315 "shasum": "" 6371 "shasum": ""
6316 }, 6372 },
6317 "require": { 6373 "require": {
@@ -6320,7 +6376,7 @@ @@ -6320,7 +6376,7 @@
6320 "type": "library", 6376 "type": "library",
6321 "extra": { 6377 "extra": {
6322 "branch-alias": { 6378 "branch-alias": {
6323 - "dev-main": "1.20-dev" 6379 + "dev-main": "1.22-dev"
6324 }, 6380 },
6325 "thanks": { 6381 "thanks": {
6326 "name": "symfony/polyfill", 6382 "name": "symfony/polyfill",
@@ -6358,7 +6414,7 @@ @@ -6358,7 +6414,7 @@
6358 "shim" 6414 "shim"
6359 ], 6415 ],
6360 "support": { 6416 "support": {
6361 - "source": "https://github.com/symfony/polyfill-php72/tree/v1.20.0" 6417 + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.0"
6362 }, 6418 },
6363 "funding": [ 6419 "funding": [
6364 { 6420 {
@@ -6374,20 +6430,20 @@ @@ -6374,20 +6430,20 @@
6374 "type": "tidelift" 6430 "type": "tidelift"
6375 } 6431 }
6376 ], 6432 ],
6377 - "time": "2020-10-23T14:02:19+00:00" 6433 + "time": "2021-01-07T16:49:33+00:00"
6378 }, 6434 },
6379 { 6435 {
6380 "name": "symfony/polyfill-php73", 6436 "name": "symfony/polyfill-php73",
6381 - "version": "v1.20.0", 6437 + "version": "v1.22.0",
6382 "source": { 6438 "source": {
6383 "type": "git", 6439 "type": "git",
6384 "url": "https://github.com/symfony/polyfill-php73.git", 6440 "url": "https://github.com/symfony/polyfill-php73.git",
6385 - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" 6441 + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
6386 }, 6442 },
6387 "dist": { 6443 "dist": {
6388 "type": "zip", 6444 "type": "zip",
6389 - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed",  
6390 - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", 6445 + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
  6446 + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
6391 "shasum": "" 6447 "shasum": ""
6392 }, 6448 },
6393 "require": { 6449 "require": {
@@ -6396,7 +6452,7 @@ @@ -6396,7 +6452,7 @@
6396 "type": "library", 6452 "type": "library",
6397 "extra": { 6453 "extra": {
6398 "branch-alias": { 6454 "branch-alias": {
6399 - "dev-main": "1.20-dev" 6455 + "dev-main": "1.22-dev"
6400 }, 6456 },
6401 "thanks": { 6457 "thanks": {
6402 "name": "symfony/polyfill", 6458 "name": "symfony/polyfill",
@@ -6437,7 +6493,7 @@ @@ -6437,7 +6493,7 @@
6437 "shim" 6493 "shim"
6438 ], 6494 ],
6439 "support": { 6495 "support": {
6440 - "source": "https://github.com/symfony/polyfill-php73/tree/v1.20.0" 6496 + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0"
6441 }, 6497 },
6442 "funding": [ 6498 "funding": [
6443 { 6499 {
@@ -6453,20 +6509,20 @@ @@ -6453,20 +6509,20 @@
6453 "type": "tidelift" 6509 "type": "tidelift"
6454 } 6510 }
6455 ], 6511 ],
6456 - "time": "2020-10-23T14:02:19+00:00" 6512 + "time": "2021-01-07T16:49:33+00:00"
6457 }, 6513 },
6458 { 6514 {
6459 "name": "symfony/polyfill-php80", 6515 "name": "symfony/polyfill-php80",
6460 - "version": "v1.20.0", 6516 + "version": "v1.22.0",
6461 "source": { 6517 "source": {
6462 "type": "git", 6518 "type": "git",
6463 "url": "https://github.com/symfony/polyfill-php80.git", 6519 "url": "https://github.com/symfony/polyfill-php80.git",
6464 - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" 6520 + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
6465 }, 6521 },
6466 "dist": { 6522 "dist": {
6467 "type": "zip", 6523 "type": "zip",
6468 - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de",  
6469 - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", 6524 + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
  6525 + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
6470 "shasum": "" 6526 "shasum": ""
6471 }, 6527 },
6472 "require": { 6528 "require": {
@@ -6475,7 +6531,7 @@ @@ -6475,7 +6531,7 @@
6475 "type": "library", 6531 "type": "library",
6476 "extra": { 6532 "extra": {
6477 "branch-alias": { 6533 "branch-alias": {
6478 - "dev-main": "1.20-dev" 6534 + "dev-main": "1.22-dev"
6479 }, 6535 },
6480 "thanks": { 6536 "thanks": {
6481 "name": "symfony/polyfill", 6537 "name": "symfony/polyfill",
@@ -6520,7 +6576,7 @@ @@ -6520,7 +6576,7 @@
6520 "shim" 6576 "shim"
6521 ], 6577 ],
6522 "support": { 6578 "support": {
6523 - "source": "https://github.com/symfony/polyfill-php80/tree/v1.20.0" 6579 + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0"
6524 }, 6580 },
6525 "funding": [ 6581 "funding": [
6526 { 6582 {
@@ -6536,7 +6592,7 @@ @@ -6536,7 +6592,7 @@
6536 "type": "tidelift" 6592 "type": "tidelift"
6537 } 6593 }
6538 ], 6594 ],
6539 - "time": "2020-10-23T14:02:19+00:00" 6595 + "time": "2021-01-07T16:49:33+00:00"
6540 }, 6596 },
6541 { 6597 {
6542 "name": "symfony/process", 6598 "name": "symfony/process",
@@ -7360,16 +7416,16 @@ @@ -7360,16 +7416,16 @@
7360 }, 7416 },
7361 { 7417 {
7362 "name": "vlucas/phpdotenv", 7418 "name": "vlucas/phpdotenv",
7363 - "version": "v5.2.0", 7419 + "version": "v5.3.0",
7364 "source": { 7420 "source": {
7365 "type": "git", 7421 "type": "git",
7366 "url": "https://github.com/vlucas/phpdotenv.git", 7422 "url": "https://github.com/vlucas/phpdotenv.git",
7367 - "reference": "fba64139db67123c7a57072e5f8d3db10d160b66" 7423 + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56"
7368 }, 7424 },
7369 "dist": { 7425 "dist": {
7370 "type": "zip", 7426 "type": "zip",
7371 - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66",  
7372 - "reference": "fba64139db67123c7a57072e5f8d3db10d160b66", 7427 + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56",
  7428 + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56",
7373 "shasum": "" 7429 "shasum": ""
7374 }, 7430 },
7375 "require": { 7431 "require": {
@@ -7384,7 +7440,7 @@ @@ -7384,7 +7440,7 @@
7384 "require-dev": { 7440 "require-dev": {
7385 "bamarni/composer-bin-plugin": "^1.4.1", 7441 "bamarni/composer-bin-plugin": "^1.4.1",
7386 "ext-filter": "*", 7442 "ext-filter": "*",
7387 - "phpunit/phpunit": "^7.5.20 || ^8.5.2 || ^9.0" 7443 + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1"
7388 }, 7444 },
7389 "suggest": { 7445 "suggest": {
7390 "ext-filter": "Required to use the boolean validator." 7446 "ext-filter": "Required to use the boolean validator."
@@ -7392,7 +7448,7 @@ @@ -7392,7 +7448,7 @@
7392 "type": "library", 7448 "type": "library",
7393 "extra": { 7449 "extra": {
7394 "branch-alias": { 7450 "branch-alias": {
7395 - "dev-master": "5.2-dev" 7451 + "dev-master": "5.3-dev"
7396 } 7452 }
7397 }, 7453 },
7398 "autoload": { 7454 "autoload": {
@@ -7424,7 +7480,7 @@ @@ -7424,7 +7480,7 @@
7424 ], 7480 ],
7425 "support": { 7481 "support": {
7426 "issues": "https://github.com/vlucas/phpdotenv/issues", 7482 "issues": "https://github.com/vlucas/phpdotenv/issues",
7427 - "source": "https://github.com/vlucas/phpdotenv/tree/v5.2.0" 7483 + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0"
7428 }, 7484 },
7429 "funding": [ 7485 "funding": [
7430 { 7486 {
@@ -7436,7 +7492,7 @@ @@ -7436,7 +7492,7 @@
7436 "type": "tidelift" 7492 "type": "tidelift"
7437 } 7493 }
7438 ], 7494 ],
7439 - "time": "2020-09-14T15:57:31+00:00" 7495 + "time": "2021-01-20T15:23:13+00:00"
7440 }, 7496 },
7441 { 7497 {
7442 "name": "voku/portable-ascii", 7498 "name": "voku/portable-ascii",
@@ -7631,16 +7687,16 @@ @@ -7631,16 +7687,16 @@
7631 "packages-dev": [ 7687 "packages-dev": [
7632 { 7688 {
7633 "name": "barryvdh/laravel-debugbar", 7689 "name": "barryvdh/laravel-debugbar",
7634 - "version": "v3.5.1", 7690 + "version": "v3.5.2",
7635 "source": { 7691 "source": {
7636 "type": "git", 7692 "type": "git",
7637 "url": "https://github.com/barryvdh/laravel-debugbar.git", 7693 "url": "https://github.com/barryvdh/laravel-debugbar.git",
7638 - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc" 7694 + "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b"
7639 }, 7695 },
7640 "dist": { 7696 "dist": {
7641 "type": "zip", 7697 "type": "zip",
7642 - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/233c10688f4c1a6e66ed2ef123038b1363d1bedc",  
7643 - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc", 7698 + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/cae0a8d1cb89b0f0522f65e60465e16d738e069b",
  7699 + "reference": "cae0a8d1cb89b0f0522f65e60465e16d738e069b",
7644 "shasum": "" 7700 "shasum": ""
7645 }, 7701 },
7646 "require": { 7702 "require": {
@@ -7653,6 +7709,7 @@ @@ -7653,6 +7709,7 @@
7653 "symfony/finder": "^4.3|^5" 7709 "symfony/finder": "^4.3|^5"
7654 }, 7710 },
7655 "require-dev": { 7711 "require-dev": {
  7712 + "mockery/mockery": "^1.3.3",
7656 "orchestra/testbench-dusk": "^4|^5|^6", 7713 "orchestra/testbench-dusk": "^4|^5|^6",
7657 "phpunit/phpunit": "^8.5|^9.0", 7714 "phpunit/phpunit": "^8.5|^9.0",
7658 "squizlabs/php_codesniffer": "^3.5" 7715 "squizlabs/php_codesniffer": "^3.5"
@@ -7699,7 +7756,7 @@ @@ -7699,7 +7756,7 @@
7699 ], 7756 ],
7700 "support": { 7757 "support": {
7701 "issues": "https://github.com/barryvdh/laravel-debugbar/issues", 7758 "issues": "https://github.com/barryvdh/laravel-debugbar/issues",
7702 - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.1" 7759 + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.5.2"
7703 }, 7760 },
7704 "funding": [ 7761 "funding": [
7705 { 7762 {
@@ -7707,7 +7764,7 @@ @@ -7707,7 +7764,7 @@
7707 "type": "github" 7764 "type": "github"
7708 } 7765 }
7709 ], 7766 ],
7710 - "time": "2020-09-07T19:32:39+00:00" 7767 + "time": "2021-01-06T14:21:44+00:00"
7711 }, 7768 },
7712 { 7769 {
7713 "name": "beyondcode/laravel-dump-server", 7770 "name": "beyondcode/laravel-dump-server",
@@ -8295,16 +8352,16 @@ @@ -8295,16 +8352,16 @@
8295 }, 8352 },
8296 { 8353 {
8297 "name": "friendsofphp/php-cs-fixer", 8354 "name": "friendsofphp/php-cs-fixer",
8298 - "version": "v2.17.3", 8355 + "version": "v2.18.0",
8299 "source": { 8356 "source": {
8300 "type": "git", 8357 "type": "git",
8301 "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", 8358 "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
8302 - "reference": "bd32f5dd72cdfc7b53f54077f980e144bfa2f595" 8359 + "reference": "cbc5b50bfa2688a1afca20e5a8c71f058e9ccbef"
8303 }, 8360 },
8304 "dist": { 8361 "dist": {
8305 "type": "zip", 8362 "type": "zip",
8306 - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/bd32f5dd72cdfc7b53f54077f980e144bfa2f595",  
8307 - "reference": "bd32f5dd72cdfc7b53f54077f980e144bfa2f595", 8363 + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/cbc5b50bfa2688a1afca20e5a8c71f058e9ccbef",
  8364 + "reference": "cbc5b50bfa2688a1afca20e5a8c71f058e9ccbef",
8308 "shasum": "" 8365 "shasum": ""
8309 }, 8366 },
8310 "require": { 8367 "require": {
@@ -8326,7 +8383,6 @@ @@ -8326,7 +8383,6 @@
8326 "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0" 8383 "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0"
8327 }, 8384 },
8328 "require-dev": { 8385 "require-dev": {
8329 - "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0",  
8330 "justinrainbow/json-schema": "^5.0", 8386 "justinrainbow/json-schema": "^5.0",
8331 "keradus/cli-executor": "^1.4", 8387 "keradus/cli-executor": "^1.4",
8332 "mikey179/vfsstream": "^1.6", 8388 "mikey179/vfsstream": "^1.6",
@@ -8335,11 +8391,11 @@ @@ -8335,11 +8391,11 @@
8335 "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", 8391 "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
8336 "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", 8392 "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
8337 "phpspec/prophecy-phpunit": "^1.1 || ^2.0", 8393 "phpspec/prophecy-phpunit": "^1.1 || ^2.0",
8338 - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.4.4 <9.5", 8394 + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.5",
8339 "phpunitgoodpractices/polyfill": "^1.5", 8395 "phpunitgoodpractices/polyfill": "^1.5",
8340 "phpunitgoodpractices/traits": "^1.9.1", 8396 "phpunitgoodpractices/traits": "^1.9.1",
8341 "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1", 8397 "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1",
8342 - "symfony/phpunit-bridge": "^5.1", 8398 + "symfony/phpunit-bridge": "^5.2.1",
8343 "symfony/yaml": "^3.0 || ^4.0 || ^5.0" 8399 "symfony/yaml": "^3.0 || ^4.0 || ^5.0"
8344 }, 8400 },
8345 "suggest": { 8401 "suggest": {
@@ -8387,7 +8443,7 @@ @@ -8387,7 +8443,7 @@
8387 "description": "A tool to automatically fix PHP code style", 8443 "description": "A tool to automatically fix PHP code style",
8388 "support": { 8444 "support": {
8389 "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", 8445 "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
8390 - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.17.3" 8446 + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.18.0"
8391 }, 8447 },
8392 "funding": [ 8448 "funding": [
8393 { 8449 {
@@ -8395,7 +8451,7 @@ @@ -8395,7 +8451,7 @@
8395 "type": "github" 8451 "type": "github"
8396 } 8452 }
8397 ], 8453 ],
8398 - "time": "2020-12-24T11:14:44+00:00" 8454 + "time": "2021-01-18T03:31:06+00:00"
8399 }, 8455 },
8400 { 8456 {
8401 "name": "hamcrest/hamcrest-php", 8457 "name": "hamcrest/hamcrest-php",
@@ -8450,16 +8506,16 @@ @@ -8450,16 +8506,16 @@
8450 }, 8506 },
8451 { 8507 {
8452 "name": "laravel/dusk", 8508 "name": "laravel/dusk",
8453 - "version": "v6.11.0", 8509 + "version": "v6.11.1",
8454 "source": { 8510 "source": {
8455 "type": "git", 8511 "type": "git",
8456 "url": "https://github.com/laravel/dusk.git", 8512 "url": "https://github.com/laravel/dusk.git",
8457 - "reference": "7e05b3ca4f17afcba528c4c5a2390a2dd9949b38" 8513 + "reference": "2fb73c87b5805ced07e8ab4487b3c1ace0b65ae9"
8458 }, 8514 },
8459 "dist": { 8515 "dist": {
8460 "type": "zip", 8516 "type": "zip",
8461 - "url": "https://api.github.com/repos/laravel/dusk/zipball/7e05b3ca4f17afcba528c4c5a2390a2dd9949b38",  
8462 - "reference": "7e05b3ca4f17afcba528c4c5a2390a2dd9949b38", 8517 + "url": "https://api.github.com/repos/laravel/dusk/zipball/2fb73c87b5805ced07e8ab4487b3c1ace0b65ae9",
  8518 + "reference": "2fb73c87b5805ced07e8ab4487b3c1ace0b65ae9",
8463 "shasum": "" 8519 "shasum": ""
8464 }, 8520 },
8465 "require": { 8521 "require": {
@@ -8516,9 +8572,9 @@ @@ -8516,9 +8572,9 @@
8516 ], 8572 ],
8517 "support": { 8573 "support": {
8518 "issues": "https://github.com/laravel/dusk/issues", 8574 "issues": "https://github.com/laravel/dusk/issues",
8519 - "source": "https://github.com/laravel/dusk/tree/v6.11.0" 8575 + "source": "https://github.com/laravel/dusk/tree/v6.11.1"
8520 }, 8576 },
8521 - "time": "2020-12-22T16:57:45+00:00" 8577 + "time": "2021-01-19T14:58:07+00:00"
8522 }, 8578 },
8523 { 8579 {
8524 "name": "laravel/sail", 8580 "name": "laravel/sail",
@@ -8645,16 +8701,16 @@ @@ -8645,16 +8701,16 @@
8645 }, 8701 },
8646 { 8702 {
8647 "name": "maximebf/debugbar", 8703 "name": "maximebf/debugbar",
8648 - "version": "v1.16.4", 8704 + "version": "v1.16.5",
8649 "source": { 8705 "source": {
8650 "type": "git", 8706 "type": "git",
8651 "url": "https://github.com/maximebf/php-debugbar.git", 8707 "url": "https://github.com/maximebf/php-debugbar.git",
8652 - "reference": "c86c717e4bf3c6d98422da5c38bfa7b0f494b04c" 8708 + "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62"
8653 }, 8709 },
8654 "dist": { 8710 "dist": {
8655 "type": "zip", 8711 "type": "zip",
8656 - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/c86c717e4bf3c6d98422da5c38bfa7b0f494b04c",  
8657 - "reference": "c86c717e4bf3c6d98422da5c38bfa7b0f494b04c", 8712 + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62",
  8713 + "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62",
8658 "shasum": "" 8714 "shasum": ""
8659 }, 8715 },
8660 "require": { 8716 "require": {
@@ -8704,9 +8760,9 @@ @@ -8704,9 +8760,9 @@
8704 ], 8760 ],
8705 "support": { 8761 "support": {
8706 "issues": "https://github.com/maximebf/php-debugbar/issues", 8762 "issues": "https://github.com/maximebf/php-debugbar/issues",
8707 - "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.4" 8763 + "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.5"
8708 }, 8764 },
8709 - "time": "2020-12-07T10:48:48+00:00" 8765 + "time": "2020-12-07T11:07:24+00:00"
8710 }, 8766 },
8711 { 8767 {
8712 "name": "mockery/mockery", 8768 "name": "mockery/mockery",
@@ -8840,16 +8896,16 @@ @@ -8840,16 +8896,16 @@
8840 }, 8896 },
8841 { 8897 {
8842 "name": "nunomaduro/collision", 8898 "name": "nunomaduro/collision",
8843 - "version": "v5.1.0", 8899 + "version": "v5.2.0",
8844 "source": { 8900 "source": {
8845 "type": "git", 8901 "type": "git",
8846 "url": "https://github.com/nunomaduro/collision.git", 8902 "url": "https://github.com/nunomaduro/collision.git",
8847 - "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa" 8903 + "reference": "aca954fd03414ba0dd85d7d8e42ba9b251893d1f"
8848 }, 8904 },
8849 "dist": { 8905 "dist": {
8850 "type": "zip", 8906 "type": "zip",
8851 - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/7c2b95589bf81e274e61e47f7672a1b2c3e06eaa",  
8852 - "reference": "7c2b95589bf81e274e61e47f7672a1b2c3e06eaa", 8907 + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/aca954fd03414ba0dd85d7d8e42ba9b251893d1f",
  8908 + "reference": "aca954fd03414ba0dd85d7d8e42ba9b251893d1f",
8853 "shasum": "" 8909 "shasum": ""
8854 }, 8910 },
8855 "require": { 8911 "require": {
@@ -8859,16 +8915,16 @@ @@ -8859,16 +8915,16 @@
8859 "symfony/console": "^5.0" 8915 "symfony/console": "^5.0"
8860 }, 8916 },
8861 "require-dev": { 8917 "require-dev": {
8862 - "fideloper/proxy": "^4.4.0",  
8863 - "friendsofphp/php-cs-fixer": "^2.16.4",  
8864 - "fruitcake/laravel-cors": "^2.0.1",  
8865 - "laravel/framework": "^8.0",  
8866 - "laravel/tinker": "^2.4.1", 8918 + "brianium/paratest": "^6.1",
  8919 + "fideloper/proxy": "^4.4.1",
  8920 + "friendsofphp/php-cs-fixer": "^2.17.3",
  8921 + "fruitcake/laravel-cors": "^2.0.3",
  8922 + "laravel/framework": "^9.0",
8867 "nunomaduro/larastan": "^0.6.2", 8923 "nunomaduro/larastan": "^0.6.2",
8868 "nunomaduro/mock-final-classes": "^1.0", 8924 "nunomaduro/mock-final-classes": "^1.0",
8869 - "orchestra/testbench": "^6.0",  
8870 - "phpstan/phpstan": "^0.12.36",  
8871 - "phpunit/phpunit": "^9.3.3" 8925 + "orchestra/testbench": "^7.0",
  8926 + "phpstan/phpstan": "^0.12.64",
  8927 + "phpunit/phpunit": "^9.5.0"
8872 }, 8928 },
8873 "type": "library", 8929 "type": "library",
8874 "extra": { 8930 "extra": {
@@ -8924,7 +8980,7 @@ @@ -8924,7 +8980,7 @@
8924 "type": "patreon" 8980 "type": "patreon"
8925 } 8981 }
8926 ], 8982 ],
8927 - "time": "2020-10-29T14:50:40+00:00" 8983 + "time": "2021-01-13T10:00:08+00:00"
8928 }, 8984 },
8929 { 8985 {
8930 "name": "phar-io/manifest", 8986 "name": "phar-io/manifest",
@@ -9708,16 +9764,16 @@ @@ -9708,16 +9764,16 @@
9708 }, 9764 },
9709 { 9765 {
9710 "name": "phpunit/phpunit", 9766 "name": "phpunit/phpunit",
9711 - "version": "9.5.0", 9767 + "version": "9.5.1",
9712 "source": { 9768 "source": {
9713 "type": "git", 9769 "type": "git",
9714 "url": "https://github.com/sebastianbergmann/phpunit.git", 9770 "url": "https://github.com/sebastianbergmann/phpunit.git",
9715 - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" 9771 + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360"
9716 }, 9772 },
9717 "dist": { 9773 "dist": {
9718 "type": "zip", 9774 "type": "zip",
9719 - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe",  
9720 - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", 9775 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360",
  9776 + "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360",
9721 "shasum": "" 9777 "shasum": ""
9722 }, 9778 },
9723 "require": { 9779 "require": {
@@ -9795,7 +9851,7 @@ @@ -9795,7 +9851,7 @@
9795 ], 9851 ],
9796 "support": { 9852 "support": {
9797 "issues": "https://github.com/sebastianbergmann/phpunit/issues", 9853 "issues": "https://github.com/sebastianbergmann/phpunit/issues",
9798 - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.0" 9854 + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.1"
9799 }, 9855 },
9800 "funding": [ 9856 "funding": [
9801 { 9857 {
@@ -9807,7 +9863,7 @@ @@ -9807,7 +9863,7 @@
9807 "type": "github" 9863 "type": "github"
9808 } 9864 }
9809 ], 9865 ],
9810 - "time": "2020-12-04T05:05:53+00:00" 9866 + "time": "2021-01-17T07:42:25+00:00"
9811 }, 9867 },
9812 { 9868 {
9813 "name": "sebastian/cli-parser", 9869 "name": "sebastian/cli-parser",
@@ -11160,7 +11216,7 @@ @@ -11160,7 +11216,7 @@
11160 "prefer-stable": true, 11216 "prefer-stable": true,
11161 "prefer-lowest": false, 11217 "prefer-lowest": false,
11162 "platform": { 11218 "platform": {
11163 - "php": "^7.3", 11219 + "php": "^7.4",
11164 "ext-gd": "*", 11220 "ext-gd": "*",
11165 "ext-json": "*", 11221 "ext-json": "*",
11166 "ext-pdo": "*", 11222 "ext-pdo": "*",
config/assets.php
@@ -14,7 +14,7 @@ return [ @@ -14,7 +14,7 @@ return [
14 | 14 |
15 */ 15 */
16 16
17 - 'version' => '0.0.71', 17 + 'version' => '0.0.72',
18 18
19 /* 19 /*
20 |-------------------------------------------------------------------------- 20 |--------------------------------------------------------------------------
database/migrations/2021_01_04_173326_change_historical_note_to_text.php 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +<?php
  2 +
  3 +use Illuminate\Database\Migrations\Migration;
  4 +use Illuminate\Database\Schema\Blueprint;
  5 +use Illuminate\Support\Facades\Schema;
  6 +
  7 +class ChangeHistoricalNoteToText extends Migration
  8 +{
  9 + /**
  10 + * Run the migrations.
  11 + *
  12 + * @return void
  13 + */
  14 + public function up()
  15 + {
  16 + Schema::table('pmieducar.serie', function (Blueprint $table) {
  17 + $table->text('observacao_historico')->change();
  18 + });
  19 + }
  20 +
  21 + /**
  22 + * Reverse the migrations.
  23 + *
  24 + * @return void
  25 + */
  26 + public function down()
  27 + {
  28 + Schema::table('pmieducar.serie', function (Blueprint $table) {
  29 + $table->string('observacao_historico')->change();
  30 + });
  31 + }
  32 +}
docker-compose.yml
@@ -32,7 +32,7 @@ services: @@ -32,7 +32,7 @@ services:
32 32
33 postgres: 33 postgres:
34 container_name: ieducar-postgres 34 container_name: ieducar-postgres
35 - image: postgres:9.5 35 + image: postgres:9.5-alpine
36 environment: 36 environment:
37 POSTGRES_DB: ieducar 37 POSTGRES_DB: ieducar
38 POSTGRES_USER: ieducar 38 POSTGRES_USER: ieducar
@@ -44,7 +44,7 @@ services: @@ -44,7 +44,7 @@ services:
44 44
45 redis: 45 redis:
46 container_name: ieducar-redis 46 container_name: ieducar-redis
47 - image: redis 47 + image: redis:alpine
48 restart: always 48 restart: always
49 ports: 49 ports:
50 - 6379 50 - 6379
docker/nginx/Dockerfile
1 -FROM nginx 1 +FROM nginx:alpine
2 2
3 LABEL maintainer="Portabilis <contato@portabilis.com.br>" 3 LABEL maintainer="Portabilis <contato@portabilis.com.br>"
4 4
5 -RUN apt-get update -y 5 +RUN apk update
6 6
7 COPY default.conf /etc/nginx/conf.d/default.conf 7 COPY default.conf /etc/nginx/conf.d/default.conf
8 COPY upstream.conf /etc/nginx/conf.d/upstream.conf 8 COPY upstream.conf /etc/nginx/conf.d/upstream.conf
docker/php/Dockerfile
1 -FROM php:7.3-fpm 1 +FROM php:7.4-fpm-alpine
2 2
3 LABEL maintainer="Portabilis <contato@portabilis.com.br>" 3 LABEL maintainer="Portabilis <contato@portabilis.com.br>"
4 4
@@ -12,33 +12,15 @@ ENV XDEBUG_REMOTE_PORT 9000 @@ -12,33 +12,15 @@ ENV XDEBUG_REMOTE_PORT 9000
12 ENV XDEBUG_REMOTE_ENABLE 0 12 ENV XDEBUG_REMOTE_ENABLE 0
13 ENV XDEBUG_AUTOSTART 0 13 ENV XDEBUG_AUTOSTART 0
14 14
15 -RUN apt-get update -y  
16 -RUN apt-get install -y wget  
17 -  
18 -#  
19 -# Adiciona o repositório do OpenJDK 8.  
20 -#  
21 -# https://packages.debian.org/sid/amd64/openjdk-8-jdk/download  
22 -# https://github.com/balena-io-library/base-images/issues/273#issuecomment-349649205  
23 -#  
24 -RUN echo "deb http://ftp.us.debian.org/debian sid main" >> /etc/apt/sources.list  
25 -  
26 -#  
27 -# Adiciona o repositório do Postgres 9.5 Client.  
28 -#  
29 -# https://www.postgresql.org/download/linux/debian/  
30 -# https://stackoverflow.com/questions/50757647/e-gnupg-gnupg2-and-gnupg1-do-not-seem-to-be-installed-but-one-of-them-is-requ  
31 -#  
32 -RUN apt-get install -y gnupg2  
33 -RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" >> /etc/apt/sources.list.d/pgdg.list  
34 -RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -  
35 -  
36 -RUN apt-get update -y 15 +RUN apk update
  16 +RUN apk add wget
  17 +
  18 +RUN apk add --no-cache --virtual .phpize_deps $PHPIZE_DEPS
37 19
38 RUN pecl install xdebug 20 RUN pecl install xdebug
39 RUN docker-php-ext-enable xdebug 21 RUN docker-php-ext-enable xdebug
40 22
41 -RUN apt-get install -y libpq-dev 23 +RUN apk --no-cache add postgresql-dev
42 RUN docker-php-ext-install pgsql 24 RUN docker-php-ext-install pgsql
43 25
44 RUN docker-php-ext-install pdo 26 RUN docker-php-ext-install pdo
@@ -50,21 +32,23 @@ RUN rm -rf /tmp/pear @@ -50,21 +32,23 @@ RUN rm -rf /tmp/pear
50 32
51 RUN docker-php-ext-install bcmath 33 RUN docker-php-ext-install bcmath
52 34
53 -RUN apt-get install -y unzip 35 +RUN apk add unzip
54 36
55 -RUN apt-get install -y libzip-dev 37 +RUN apk add libzip-dev
56 RUN docker-php-ext-install zip 38 RUN docker-php-ext-install zip
57 39
58 -RUN apt-get remove -y libgcc-8-dev  
59 -RUN apt-get install -o APT::Immediate-Configure=false -y libc6-dev 40 +RUN apk add libc-dev
  41 +
  42 +RUN echo "@v3.4 http://nl.alpinelinux.org/alpine/v3.4/main" >> /etc/apk/repositories && \
  43 + apk update && \
  44 + apk add --no-cache "postgresql-client@v3.4>=9.5"
60 45
61 -RUN mkdir -p /usr/share/man/man7  
62 -RUN apt-get install -y postgresql-contrib-9.5 46 +RUN apk add postgresql-client
63 47
64 -RUN apt-get install -y libpng-dev 48 +RUN apk add libpng-dev
65 RUN docker-php-ext-install gd 49 RUN docker-php-ext-install gd
66 50
67 -RUN apt-get install -y jq git 51 +RUN apk add jq git
68 52
69 RUN ln -s /var/www/ieducar/artisan /usr/local/bin/artisan 53 RUN ln -s /var/www/ieducar/artisan /usr/local/bin/artisan
70 54
@@ -72,15 +56,13 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local @@ -72,15 +56,13 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local
72 56
73 COPY xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini 57 COPY xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
74 58
75 -COPY php.ini /usr/local/etc/php/php.ini  
76 -  
77 -COPY pdflib.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/pdflib.so  
78 -RUN echo "extension=/usr/local/lib/php/extensions/no-debug-non-zts-20180731/pdflib.so" > /usr/local/etc/php/conf.d/pdflib.ini  
79 -  
80 RUN docker-php-ext-install pcntl 59 RUN docker-php-ext-install pcntl
81 60
82 -RUN apt-get install openjdk-8-jdk -y 61 +RUN apk add openjdk8
  62 +RUN apk add ttf-dejavu
83 63
84 -RUN apt-get install npm -y 64 +RUN apk add --update npm
85 65
86 RUN composer self-update 66 RUN composer self-update
  67 +
  68 +RUN apk del .phpize_deps
docker/php/pdflib.so
No preview for this file type
docker/php/php.ini
ieducar/intranet/educar_aluno_det.php
@@ -473,7 +473,7 @@ class indice extends clsDetalhe @@ -473,7 +473,7 @@ class indice extends clsDetalhe
473 $this->addDetalhe(['Deficiências', $tabela]); 473 $this->addDetalhe(['Deficiências', $tabela]);
474 } 474 }
475 475
476 - if ($registro['url_documento'] && $registro['url_documento'] != '') { 476 + if (!empty($registro['url_documento']) && $registro['url_documento'] != '[]') {
477 $tabela = '<table border="0" width="300" cellpadding="3"><tr bgcolor="#ccdce6" align="center"><td>Documentos</td></tr>'; 477 $tabela = '<table border="0" width="300" cellpadding="3"><tr bgcolor="#ccdce6" align="center"><td>Documentos</td></tr>';
478 $cor = '#e9f0f8'; 478 $cor = '#e9f0f8';
479 479
@@ -495,7 +495,7 @@ class indice extends clsDetalhe @@ -495,7 +495,7 @@ class indice extends clsDetalhe
495 $this->addDetalhe(['Documentos do aluno', $tabela]); 495 $this->addDetalhe(['Documentos do aluno', $tabela]);
496 } 496 }
497 497
498 - if ($registro['url_laudo_medico'] && $registro['url_laudo_medico'] != '') { 498 + if (!empty($registro['url_laudo_medico']) && $registro['url_laudo_medico'] != '[]') {
499 $tabela = '<table border="0" width="300" cellpadding="3"><tr bgcolor="#ccdce6" align="center"><td>Laudo médico</td></tr>'; 499 $tabela = '<table border="0" width="300" cellpadding="3"><tr bgcolor="#ccdce6" align="center"><td>Laudo médico</td></tr>';
500 500
501 $cor = '#D1DADF'; 501 $cor = '#D1DADF';
ieducar/intranet/educar_instituicao_cad.php
@@ -3,15 +3,14 @@ @@ -3,15 +3,14 @@
3 use App\Menu; 3 use App\Menu;
4 use App\Models\State; 4 use App\Models\State;
5 5
6 -require_once 'include/clsBase.inc.php';  
7 -require_once 'include/clsCadastro.inc.php';  
8 -require_once 'include/clsBanco.inc.php';  
9 -require_once 'include/pmieducar/geral.inc.php';  
10 -require_once 'include/Geral.inc.php';  
11 -require_once 'Portabilis/Date/Utils.php';  
12 -require_once 'Portabilis/Currency/Utils.php';  
13 -  
14 -require_once 'Educacenso/Model/OrgaoRegionalDataMapper.php'; 6 +require_once __DIR__ . '/include/clsBase.inc.php';
  7 +require_once __DIR__ .'/include/clsCadastro.inc.php';
  8 +require_once __DIR__ .'/include/clsBanco.inc.php';
  9 +require_once __DIR__ .'/include/pmieducar/geral.inc.php';
  10 +require_once __DIR__ .'/include/Geral.inc.php';
  11 +require_once __DIR__ . '/../lib/Portabilis/Date/Utils.php';
  12 +require_once __DIR__ . '/../lib/Portabilis/Currency/Utils.php';
  13 +require_once __DIR__ . '/../modules/Educacenso/Model/OrgaoRegionalDataMapper.php';
15 14
16 class clsIndexBase extends clsBase 15 class clsIndexBase extends clsBase
17 { 16 {
@@ -188,9 +187,30 @@ class indice extends clsCadastro @@ -188,9 +187,30 @@ class indice extends clsCadastro
188 $this->campoCheck('obrigar_documento_pessoa', 'Exigir documento (RG, CPF ou Certidão de nascimento / casamento) no cadastro pessoa / aluno', $this->obrigar_documento_pessoa); 187 $this->campoCheck('obrigar_documento_pessoa', 'Exigir documento (RG, CPF ou Certidão de nascimento / casamento) no cadastro pessoa / aluno', $this->obrigar_documento_pessoa);
189 188
190 $this->campoRotulo('datas', '<b>Datas</b>'); 189 $this->campoRotulo('datas', '<b>Datas</b>');
191 - $this->campoData('data_base_transferencia', 'Data máxima para deslocamento', Portabilis_Date_Utils::pgSQLToBr($this->data_base_transferencia), null, null, false);  
192 - $this->campoData('data_base_remanejamento', 'Data máxima para troca de sala', Portabilis_Date_Utils::pgSQLToBr($this->data_base_remanejamento), null, null, false);  
193 - $this->inputsHelper()->text( 190 + $dataBaseDeslocamento = 'A ordenação/apresentação de alunos transferidos nos relatórios (ex.: Relação de alunos por turma) será baseada neste campo quando preenchido.';
  191 + $this->inputsHelper()->date(
  192 + 'data_base_transferencia',
  193 + [
  194 + 'label' => 'Data máxima para deslocamento',
  195 + 'required' => false,
  196 + 'hint' => $dataBaseDeslocamento,
  197 + 'placeholder' => 'dd/mm/yyyy',
  198 + 'value' => Portabilis_Date_Utils::pgSQLToBr($this->data_base_transferencia)
  199 + ]
  200 + );
  201 + $dataBaseRemanejamento = 'A ordenação/apresentação de alunos remanejados nas turmas, nos relatórios (ex.: Relação de alunos por turma), será baseada neste campo quando preenchido.';
  202 + $this->inputsHelper()->date(
  203 + 'data_base_remanejamento',
  204 + [
  205 + 'label' => 'Data máxima para troca de sala',
  206 + 'required' => false,
  207 + 'hint' => $dataBaseRemanejamento,
  208 + 'placeholder' => 'dd/mm/yyyy',
  209 + 'value' => Portabilis_Date_Utils::pgSQLToBr($this->data_base_remanejamento)
  210 + ]
  211 + );
  212 + $dataBase = 'Caso o campo seja preenchido, o sistema irá controlar distorção de idade/série e limitar inscrições por idade no Pré-matrícula com base na data informada.';
  213 + $this->inputsHelper()->dateDiaMes(
194 'data_base', 214 'data_base',
195 [ 215 [
196 'label' => 'Data base para matrícula (dia/mês)', 216 'label' => 'Data base para matrícula (dia/mês)',
@@ -198,11 +218,23 @@ class indice extends clsCadastro @@ -198,11 +218,23 @@ class indice extends clsCadastro
198 'max_length' => 5, 218 'max_length' => 5,
199 'placeholder' => 'dd/mm', 219 'placeholder' => 'dd/mm',
200 'required' => false, 220 'required' => false,
201 - 'value' => Portabilis_Date_Utils::pgSQLToBr_ddmm($this->data_base_matricula) 221 + 'value' => Portabilis_Date_Utils::pgSQLToBr_ddmm($this->data_base_matricula),
  222 + 'hint' => $dataBase
  223 + ]
  224 + );
  225 + $dataExpiracaoReservaVaga = 'Caso o campo seja preenchido, o sistema irá indeferir automaticamente as reservas em situação de espera após a data informada.';
  226 + $this->inputsHelper()->date(
  227 + 'data_expiracao_reserva_vaga',
  228 + [
  229 + 'label' => 'Data para indeferimento automático da reserva de vaga',
  230 + 'required' => false,
  231 + 'hint' => $dataExpiracaoReservaVaga,
  232 + 'placeholder' => 'dd/mm/yyyy',
  233 + 'value' => Portabilis_Date_Utils::pgSQLToBr($this->data_expiracao_reserva_vaga)
202 ] 234 ]
203 ); 235 );
204 - $this->campoData('data_expiracao_reserva_vaga', 'Data para indeferimento automático da reserva de vaga', Portabilis_Date_Utils::pgSQLToBr($this->data_expiracao_reserva_vaga), null, null, false);  
205 - $this->inputsHelper()->text( 236 + $dataFechamento = 'Caso o campo seja preenchido, o sistema irá bloquear a matrícula de novos alunos nas turmas após a data informada.';
  237 + $this->inputsHelper()->dateDiaMes(
206 'data_fechamento', 238 'data_fechamento',
207 [ 239 [
208 'label' => 'Data de fechamento das turmas para matrícula', 240 'label' => 'Data de fechamento das turmas para matrícula',
@@ -210,14 +242,17 @@ class indice extends clsCadastro @@ -210,14 +242,17 @@ class indice extends clsCadastro
210 'max_length' => 5, 242 'max_length' => 5,
211 'placeholder' => 'dd/mm', 243 'placeholder' => 'dd/mm',
212 'required' => false, 244 'required' => false,
213 - 'value' => Portabilis_Date_Utils::pgSQLToBr_ddmm($this->data_fechamento) 245 + 'value' => Portabilis_Date_Utils::pgSQLToBr_ddmm($this->data_fechamento),
  246 + 'hint' => $dataFechamento
214 ] 247 ]
215 ); 248 );
  249 + $dataEducacenso = 'Este campo deve ser preenchido com a data máxima das matrículas que devem ser enviadas para o Censo.';
216 $this->inputsHelper()->date( 250 $this->inputsHelper()->date(
217 'data_educacenso', 251 'data_educacenso',
218 [ 252 [
219 'label' => 'Data de referência do Educacenso', 253 'label' => 'Data de referência do Educacenso',
220 'required' => false, 254 'required' => false,
  255 + 'hint' => $dataEducacenso,
221 'placeholder' => 'dd/mm/yyyy', 256 'placeholder' => 'dd/mm/yyyy',
222 'value' => $this->data_educacenso 257 'value' => $this->data_educacenso
223 ] 258 ]
@@ -227,13 +262,13 @@ class indice extends clsCadastro @@ -227,13 +262,13 @@ class indice extends clsCadastro
227 $this->campoCheck('gerar_historico_transferencia', 'Gerar histórico de transferência ao transferir matrícula?', $this->gerar_historico_transferencia); 262 $this->campoCheck('gerar_historico_transferencia', 'Gerar histórico de transferência ao transferir matrícula?', $this->gerar_historico_transferencia);
228 $this->campoCheck('controlar_posicao_historicos', 'Permitir controlar posicionamento dos históricos em seu respectivo documento', $this->controlar_posicao_historicos); 263 $this->campoCheck('controlar_posicao_historicos', 'Permitir controlar posicionamento dos históricos em seu respectivo documento', $this->controlar_posicao_historicos);
229 $this->campoCheck('restringir_historico_escolar', 'Restringir modificações de históricos escolares?', $this->restringir_historico_escolar, null, false, false, false, 'Com esta opção selecionada, somente será possível cadastrar/editar históricos escolares de alunos que pertençam a mesma escola do funcionário.'); 264 $this->campoCheck('restringir_historico_escolar', 'Restringir modificações de históricos escolares?', $this->restringir_historico_escolar, null, false, false, false, 'Com esta opção selecionada, somente será possível cadastrar/editar históricos escolares de alunos que pertençam a mesma escola do funcionário.');
230 - $this->campoCheck('permitir_carga_horaria', 'Não permitir definir C.H. por componente no histórico escolar', $this->permitir_carga_horaria, null, false, false, false, 'Caso a opção estiver habilitda, não será possivel adicionar carga horária na tabela de disciplinas do histórico do aluno.'); 265 + $this->campoCheck('permitir_carga_horaria', 'Não permitir definir C.H. por componente no histórico escolar', $this->permitir_carga_horaria, null, false, false, false, 'Caso a opção estiver habilitada, não será possivel adicionar carga horária na tabela de disciplinas do histórico do aluno.');
231 266
232 $this->campoRotulo('reserva_vaga', '<b>Reserva de vaga</b>'); 267 $this->campoRotulo('reserva_vaga', '<b>Reserva de vaga</b>');
233 $this->multiplas_reserva_vaga = isset($this->cod_instituicao) ? dbBool($this->multiplas_reserva_vaga) : true; 268 $this->multiplas_reserva_vaga = isset($this->cod_instituicao) ? dbBool($this->multiplas_reserva_vaga) : true;
234 $this->campoCheck('multiplas_reserva_vaga', 'Permitir múltiplas reservas de vagas para o mesmo candidato em escolas diferentes', $this->multiplas_reserva_vaga); 269 $this->campoCheck('multiplas_reserva_vaga', 'Permitir múltiplas reservas de vagas para o mesmo candidato em escolas diferentes', $this->multiplas_reserva_vaga);
235 $this->campoCheck('reserva_integral_somente_com_renda', 'Permitir reserva de vaga para o turno integral somente quando a renda for informada', $this->reserva_integral_somente_com_renda); 270 $this->campoCheck('reserva_integral_somente_com_renda', 'Permitir reserva de vaga para o turno integral somente quando a renda for informada', $this->reserva_integral_somente_com_renda);
236 - $this->campoCheck('exigir_dados_socioeconomicos', 'Exigir dados socioeconômico na reserva de vaga para turno integral', $this->exigir_dados_socioeconomicos); 271 + $this->campoCheck('exigir_dados_socioeconomicos', 'Exigir dados socioeconômicos na reserva de vaga para turno integral', $this->exigir_dados_socioeconomicos);
237 272
238 $this->campoRotulo('relatorios', '<b>Relatórios</b>'); 273 $this->campoRotulo('relatorios', '<b>Relatórios</b>');
239 $this->campoCheck('permissao_filtro_abandono_transferencia', 'Não permitir a apresentação de alunos com matrícula em abandono ou transferida na emissão do relatório de frequência', $this->permissao_filtro_abandono_transferencia); 274 $this->campoCheck('permissao_filtro_abandono_transferencia', 'Não permitir a apresentação de alunos com matrícula em abandono ou transferida na emissão do relatório de frequência', $this->permissao_filtro_abandono_transferencia);
@@ -417,10 +452,10 @@ class indice extends clsCadastro @@ -417,10 +452,10 @@ class indice extends clsCadastro
417 452
418 $this->mensagem .= 'Edição efetuada com sucesso.<br>'; 453 $this->mensagem .= 'Edição efetuada com sucesso.<br>';
419 $this->simpleRedirect('educar_instituicao_lst.php'); 454 $this->simpleRedirect('educar_instituicao_lst.php');
  455 + } else {
  456 + $this->mensagem = 'Edição não realizada.<br>';
420 } 457 }
421 458
422 - $this->mensagem = 'Edição não realizada.<br>';  
423 -  
424 return false; 459 return false;
425 } 460 }
426 461
ieducar/intranet/educar_matricula_det.php
@@ -216,12 +216,10 @@ class indice extends clsDetalhe @@ -216,12 +216,10 @@ class indice extends clsDetalhe
216 $this->addDetalhe(['Número Reserva Vaga', $registro['ref_cod_reserva_vaga']]); 216 $this->addDetalhe(['Número Reserva Vaga', $registro['ref_cod_reserva_vaga']]);
217 } 217 }
218 218
219 - $campoObs = false;  
220 -  
221 $situacao = App_Model_MatriculaSituacao::getSituacao($registro['aprovado']); 219 $situacao = App_Model_MatriculaSituacao::getSituacao($registro['aprovado']);
222 $this->addDetalhe(['Situação', $situacao]); 220 $this->addDetalhe(['Situação', $situacao]);
223 221
224 - if ($registro[aprovado] == 4) { 222 + if ($registro['aprovado'] == 4) {
225 $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(); 223 $obj_transferencia = new clsPmieducarTransferenciaSolicitacao();
226 224
227 $lst_transferencia = $obj_transferencia->lista(null, null, null, null, null, $registro['cod_matricula'], null, null, null, null, null, 1, null, null, $registro['ref_cod_aluno'], false); 225 $lst_transferencia = $obj_transferencia->lista(null, null, null, null, null, $registro['cod_matricula'], null, null, null, null, null, 1, null, null, $registro['ref_cod_aluno'], false);
@@ -250,7 +248,7 @@ class indice extends clsDetalhe @@ -250,7 +248,7 @@ class indice extends clsDetalhe
250 $this->addDetalhe(['Observação', Portabilis_String_Utils::toLatin1($registro['observacao'])]); 248 $this->addDetalhe(['Observação', Portabilis_String_Utils::toLatin1($registro['observacao'])]);
251 } 249 }
252 250
253 - if ($campoObs) { 251 + if ($registro['aprovado'] == App_Model_MatriculaSituacao::ABANDONO) {
254 $tipoAbandono = new clsPmieducarAbandonoTipo($registro['ref_cod_abandono_tipo']); 252 $tipoAbandono = new clsPmieducarAbandonoTipo($registro['ref_cod_abandono_tipo']);
255 $tipoAbandono = $tipoAbandono->detalhe(); 253 $tipoAbandono = $tipoAbandono->detalhe();
256 254
@@ -260,7 +258,7 @@ class indice extends clsDetalhe @@ -260,7 +258,7 @@ class indice extends clsDetalhe
260 $this->addDetalhe(['Observação', $observacaoAbandono]); 258 $this->addDetalhe(['Observação', $observacaoAbandono]);
261 } 259 }
262 260
263 - if ($registro[aprovado] == App_Model_MatriculaSituacao::RECLASSIFICADO){ 261 + if ($registro['aprovado'] == App_Model_MatriculaSituacao::RECLASSIFICADO){
264 $this->addDetalhe(['Descrição', $this->getDescription($registro['descricao_reclassificacao'])]); 262 $this->addDetalhe(['Descrição', $this->getDescription($registro['descricao_reclassificacao'])]);
265 } 263 }
266 264
ieducar/intranet/educar_transferencia_solicitacao_cad.php
@@ -66,7 +66,7 @@ class indice extends clsCadastro @@ -66,7 +66,7 @@ class indice extends clsCadastro
66 66
67 public $municipio_escola_destino_externa; 67 public $municipio_escola_destino_externa;
68 68
69 - public $ref_cod_escola_destino; 69 + public $ref_cod_escola;
70 70
71 public function Inicializar() 71 public function Inicializar()
72 { 72 {
@@ -102,6 +102,7 @@ class indice extends clsCadastro @@ -102,6 +102,7 @@ class indice extends clsCadastro
102 } 102 }
103 103
104 $this->Excluir(); 104 $this->Excluir();
  105 +
105 } 106 }
106 107
107 $this->url_cancelar = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}"; 108 $this->url_cancelar = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}";
@@ -161,24 +162,13 @@ class indice extends clsCadastro @@ -161,24 +162,13 @@ class indice extends clsCadastro
161 $det_matricula = $obj_matricula->detalhe(); 162 $det_matricula = $obj_matricula->detalhe();
162 $ref_cod_instituicao = $det_matricula['ref_cod_instituicao']; 163 $ref_cod_instituicao = $det_matricula['ref_cod_instituicao'];
163 164
164 - $opcoes = ['' => 'Selecione'];  
165 - $objTemp = new clsPmieducarEscola();  
166 - $objTemp->_campo_order_by = 'nome';  
167 - $lista = $objTemp->lista(null, null, null, $det_matricula['ref_cod_instituicao']);  
168 -  
169 - foreach ($lista as $escola) {  
170 - $opcoes["{$escola['cod_escola']}"] = "{$escola['nome']}";  
171 - }  
172 -  
173 - $opcoes[0] = 'OUTRA';  
174 -  
175 - $this->campoLista('ref_cod_escola_destino', 'Escola', $opcoes, null, '', false, 'Destino do aluno', '', false, false); 165 + $this->inputsHelper()->dynamic(['instituicao'], ['required' => false]);
  166 + $this->inputsHelper()->dynamic(['escola'], ['label_hint' => 'Destino do aluno', 'required' => false]);
  167 + $this->inputsHelper()->checkbox('escola_em_outro_municipio', ['label' => 'Escola em outro municipio?', ]);
176 $this->campoTexto('escola_destino_externa', 'Nome da escola ', '', 30, 255, false, false, false, ''); 168 $this->campoTexto('escola_destino_externa', 'Nome da escola ', '', 30, 255, false, false, false, '');
177 $this->campoTexto('estado_escola_destino_externa', 'Estado da escola ', '', 20, 50, false, false, false, ''); 169 $this->campoTexto('estado_escola_destino_externa', 'Estado da escola ', '', 20, 50, false, false, false, '');
178 $this->campoTexto('municipio_escola_destino_externa', 'Município da escola ', '', 20, 50, false, false, false, ''); 170 $this->campoTexto('municipio_escola_destino_externa', 'Município da escola ', '', 20, 50, false, false, false, '');
179 171
180 - $opcoes = ['' => 'Selecione'];  
181 -  
182 $objTemp = new clsPmieducarTransferenciaTipo(); 172 $objTemp = new clsPmieducarTransferenciaTipo();
183 $objTemp->setOrderby(' nm_tipo ASC '); 173 $objTemp->setOrderby(' nm_tipo ASC ');
184 $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, $ref_cod_instituicao); 174 $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, $ref_cod_instituicao);
@@ -267,7 +257,7 @@ class indice extends clsCadastro @@ -267,7 +257,7 @@ class indice extends clsCadastro
267 } 257 }
268 clsPmieducarHistoricoEscolar::gerarHistoricoTransferencia($this->ref_cod_matricula, $this->pessoa_logada); 258 clsPmieducarHistoricoEscolar::gerarHistoricoTransferencia($this->ref_cod_matricula, $this->pessoa_logada);
269 259
270 - $obj = new clsPmieducarTransferenciaSolicitacao(null, $this->ref_cod_transferencia_tipo, null, $this->pessoa_logada, null, $this->ref_cod_matricula, $this->observacao, null, null, $this->ativo, $this->data_transferencia, $this->escola_destino_externa, $this->ref_cod_escola_destino, $this->estado_escola_destino_externa, $this->municipio_escola_destino_externa); 260 + $obj = new clsPmieducarTransferenciaSolicitacao(null, $this->ref_cod_transferencia_tipo, null, $this->pessoa_logada, null, $this->ref_cod_matricula, $this->observacao, null, null, $this->ativo, $this->data_transferencia, $this->escola_destino_externa, $this->ref_cod_escola, $this->estado_escola_destino_externa, $this->municipio_escola_destino_externa);
271 if ($obj->existSolicitacaoTransferenciaAtiva()) { 261 if ($obj->existSolicitacaoTransferenciaAtiva()) {
272 $this->mensagem = 'Já existe uma solitação de transferência ativa.<br>'; 262 $this->mensagem = 'Já existe uma solitação de transferência ativa.<br>';
273 263
ieducar/intranet/include/clsCampos.inc.php
@@ -329,6 +329,38 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -329,6 +329,38 @@ class clsCampos extends Core_Controller_Page_Abstract
329 } 329 }
330 } 330 }
331 331
  332 + public function campoDataDiaMes(
  333 + $nome,
  334 + $campo,
  335 + $valor,
  336 + $obrigatorio = false,
  337 + $descricao = '',
  338 + $duplo = false,
  339 + $acao = '',
  340 + $disabled = false,
  341 + $teste = null,
  342 + $dica = 'dd/mm'
  343 + ) {
  344 + $arr_componente = [
  345 + $duplo ? 'dataDupla' : 'data',
  346 + $this->__adicionando_tabela ? $nome : $campo,
  347 + false,
  348 + $valor,
  349 + 9,
  350 + 10,
  351 + $dica,
  352 + $descricao,
  353 + $acao,
  354 + $disabled,
  355 + ];
  356 +
  357 + if (!$this->__adicionando_tabela) {
  358 + $this->campos[$nome] = $arr_componente;
  359 + } else {
  360 + $this->__campos_tabela[] = $arr_componente;
  361 + }
  362 + }
  363 +
332 public function campoHora($nome, $campo, $valor, $obrigatorio = false, $descricao = '', $acao = '', $limitaHora = true, $desabilitado = false, $maxLength = 5) 364 public function campoHora($nome, $campo, $valor, $obrigatorio = false, $descricao = '', $acao = '', $limitaHora = true, $desabilitado = false, $maxLength = 5)
333 { 365 {
334 $arr_componente = [ 366 $arr_componente = [
@@ -1127,6 +1159,7 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -1127,6 +1159,7 @@ class clsCampos extends Core_Controller_Page_Abstract
1127 switch (strtolower($campo_[0])) { 1159 switch (strtolower($campo_[0])) {
1128 case 'html': 1160 case 'html':
1129 $retorno .= $componente; 1161 $retorno .= $componente;
  1162 + // no break
1130 case 'texto': 1163 case 'texto':
1131 $retorno .= $this->getCampoTexto("{$nome}[{$key2}]", "{$nome}[{$key2}]", $valor[$key], $campo_[4], $campo_[5], $evento, $campo_[10], '', $class, $campo_[7]); 1164 $retorno .= $this->getCampoTexto("{$nome}[{$key2}]", "{$nome}[{$key2}]", $valor[$key], $campo_[4], $campo_[5], $evento, $campo_[10], '', $class, $campo_[7]);
1132 break; 1165 break;
@@ -1241,9 +1274,8 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -1241,9 +1274,8 @@ class clsCampos extends Core_Controller_Page_Abstract
1241 } 1274 }
1242 if ($nome == 'html') { 1275 if ($nome == 'html') {
1243 $retorno .= $componente; 1276 $retorno .= $componente;
1244 - } else  
1245 - // Separador: insere uma linha preta  
1246 - if ($componente[0] == 'linha_preta') { 1277 + } elseif // Separador: insere uma linha preta
  1278 + ($componente[0] == 'linha_preta') {
1247 $retorno .= "<tr><td style='padding:0px;background-color:{$componente['cor']};' colspan='2' height='{$componente['altura']}'></td></tr>"; 1279 $retorno .= "<tr><td style='padding:0px;background-color:{$componente['cor']};' colspan='2' height='{$componente['altura']}'></td></tr>";
1248 continue; 1280 continue;
1249 } elseif ($componente[0] == 'espaco') { 1281 } elseif ($componente[0] == 'espaco') {
@@ -1270,7 +1302,7 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -1270,7 +1302,7 @@ class clsCampos extends Core_Controller_Page_Abstract
1270 1302
1271 $classe = $md ? 'formmdtd' : 'formlttd'; 1303 $classe = $md ? 'formmdtd' : 'formlttd';
1272 1304
1273 - if ($campo_tabela && false) { 1305 + if ($campo_tabela && false) {
1274 if ($componente[10] && ($componente[0] == 'textoDuploInv' 1306 if ($componente[10] && ($componente[0] == 'textoDuploInv'
1275 || $componente[0] == 'textoInv')) { 1307 || $componente[0] == 'textoInv')) {
1276 $name = " name='tr_{$componente[10]}' "; 1308 $name = " name='tr_{$componente[10]}' ";
@@ -1674,19 +1706,19 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -1674,19 +1706,19 @@ class clsCampos extends Core_Controller_Page_Abstract
1674 1706
1675 public function MakeFormat() 1707 public function MakeFormat()
1676 { 1708 {
1677 - $ret = " 1709 + $ret = '
1678 function AdicionaItem(chave, item, nome_pai, submete) 1710 function AdicionaItem(chave, item, nome_pai, submete)
1679 { 1711 {
1680 var x = document.getElementById(nome_pai); 1712 var x = document.getElementById(nome_pai);
1681 1713
1682 - opt = document.createElement('OPTION'); 1714 + opt = document.createElement(\'OPTION\');
1683 opt.value = chave; 1715 opt.value = chave;
1684 opt.selected = true; 1716 opt.selected = true;
1685 opt.appendChild(document.createTextNode(item)); 1717 opt.appendChild(document.createTextNode(item));
1686 1718
1687 x.appendChild(opt); 1719 x.appendChild(opt);
1688 if (submete) { 1720 if (submete) {
1689 - "; 1721 + ';
1690 1722
1691 if (isset($this->executa_submete)) { 1723 if (isset($this->executa_submete)) {
1692 $ret .= ' 1724 $ret .= '
@@ -1848,7 +1880,7 @@ class clsCampos extends Core_Controller_Page_Abstract @@ -1848,7 +1880,7 @@ class clsCampos extends Core_Controller_Page_Abstract
1848 $valor = '', 1880 $valor = '',
1849 $class, 1881 $class,
1850 $tamanhovisivel, 1882 $tamanhovisivel,
1851 - $tamanhomaximo, 1883 + $tamanhomaximo,
1852 $acao = '', 1884 $acao = '',
1853 $descricao = '' 1885 $descricao = ''
1854 ) { 1886 ) {
ieducar/intranet/scripts/jquery-maxlength/jquery.maxlength.css 0 → 100644
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +/* Styles for Max Length plugin v2.0.1 */
  2 +.maxlength-feedback {
  3 + margin-left: 0.5em;
  4 + font-size: 75%;
  5 +}
  6 +.maxlength-full {
  7 + background-color: #fee;
  8 +}
  9 +.maxlength-overflow {
  10 + background-color: #fcc;
  11 +}
  12 +.maxlength-disabled {
  13 + opacity: 0.5;
  14 +}
0 \ No newline at end of file 15 \ No newline at end of file
ieducar/intranet/scripts/jquery-maxlength/jquery.maxlength.min.js 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +/* http://keith-wood.name/maxlength.html
  2 + Textarea Max Length for jQuery v2.0.1.
  3 + Written by Keith Wood (kwood{at}iinet.com.au) May 2009.
  4 + Licensed under the MIT (http://keith-wood.name/licence.html) license.
  5 + Please attribute the author if you use it. */
  6 +(function($){var h='maxlength';$.JQPlugin.createPlugin({name:h,defaultOptions:{max:200,truncate:true,showFeedback:true,feedbackTarget:null,onFull:null},regionalOptions:{'':{feedbackText:'{r} characters remaining ({m} maximum)',overflowText:'{o} characters too many ({m} maximum)'}},_getters:['curLength'],_feedbackClass:h+'-feedback',_fullClass:h+'-full',_overflowClass:h+'-overflow',_disabledClass:h+'-disabled',_instSettings:function(a,b){return{feedbackTarget:$([])}},_postAttach:function(c,d){c.on('keypress.'+d.name,function(a){if(!d.options.truncate){return true}var b=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return(a.ctrlKey||a.metaKey||b=='\u0000'||$(this).val().length<d.options.max)}).on('keyup.'+d.name+' paste.'+d.name+' cut.'+d.name,function(e){if(e.type==='keyup'){$.maxlength._checkLength(c)}else{setTimeout(function(){$.maxlength._checkLength(c)},1)}})},_optionsChanged:function(a,b,c){$.extend(b.options,c);if(b.feedbackTarget.length>0){if(b.hadFeedbackTarget){b.feedbackTarget.empty().val('').removeClass(this._feedbackClass+' '+this._fullClass+' '+this._overflowClass)}else{b.feedbackTarget.remove()}b.feedbackTarget=$([])}if(b.options.showFeedback){b.hadFeedbackTarget=!!b.options.feedbackTarget;if($.isFunction(b.options.feedbackTarget)){b.feedbackTarget=b.options.feedbackTarget.apply(a[0],[])}else if(b.options.feedbackTarget){b.feedbackTarget=$(b.options.feedbackTarget)}else{b.feedbackTarget=$('<span></span>').insertAfter(a)}b.feedbackTarget.addClass(this._feedbackClass)}a.off('mouseover.'+b.name+' focus.'+b.name+'mouseout.'+b.name+' blur.'+b.name);if(b.options.showFeedback=='active'){a.on('mouseover.'+b.name,function(){b.feedbackTarget.css('visibility','visible')}).on('mouseout.'+b.name,function(){if(!b.focussed){b.feedbackTarget.css('visibility','hidden')}}).on('focus.'+b.name,function(){b.focussed=true;b.feedbackTarget.css('visibility','visible')}).on('blur.'+b.name,function(){b.focussed=false;b.feedbackTarget.css('visibility','hidden')});b.feedbackTarget.css('visibility','hidden')}this._checkLength(a)},curLength:function(a){var b=this._getInst(a);var c=a.val();var d=c.replace(/\r\n/g,'~~').replace(/\n/g,'~~').length;return{used:d,remaining:b.options.max-d}},_checkLength:function(a){var b=this._getInst(a);var c=a.val();var d=c.replace(/\r\n/g,'~~').replace(/\n/g,'~~').length;a.toggleClass(this._fullClass,d>=b.options.max).toggleClass(this._overflowClass,d>b.options.max);if(d>b.options.max&&b.options.truncate){var f=a.val().split(/\r\n|\n/);c='';var i=0;while(c.length<b.options.max&&i<f.length){c+=f[i].substring(0,b.options.max-c.length)+'\r\n';i++}a.val(c.substring(0,b.options.max));a[0].scrollTop=a[0].scrollHeight;d=b.options.max}b.feedbackTarget.toggleClass(this._fullClass,d>=b.options.max).toggleClass(this._overflowClass,d>b.options.max);var g=(d>b.options.max?b.options.overflowText:b.options.feedbackText).replace(/\{c\}/,d).replace(/\{m\}/,b.options.max).replace(/\{r\}/,b.options.max-d).replace(/\{o\}/,d-b.options.max);try{b.feedbackTarget.text(g)}catch(e){}try{b.feedbackTarget.val(g)}catch(e){}if(d>=b.options.max&&$.isFunction(b.options.onFull)){b.options.onFull.apply(a,[d>b.options.max])}},enable:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}var b=this._getInst(a);a.prop('disabled',false).removeClass(b.name+'-disabled');b.feedbackTarget.removeClass(b.name+'-disabled')},disable:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}var b=this._getInst(a);a.prop('disabled',true).addClass(b.name+'-disabled');b.feedbackTarget.addClass(b.name+'-disabled')},_preDestroy:function(a,b){if(b.feedbackTarget.length>0){if(b.hadFeedbackTarget){b.feedbackTarget.empty().val('').css('visibility','visible').removeClass(this._feedbackClass+' '+this._fullClass+' '+this._overflowClass)}else{b.feedbackTarget.remove()}}a.removeClass(this._fullClass+' '+this._overflowClass).off('.'+b.name)}})})(jQuery);
0 \ No newline at end of file 7 \ No newline at end of file
ieducar/intranet/scripts/jquery-maxlength/jquery.plugin.min.js 0 → 100644
@@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
  1 +/** Abstract base class for collection plugins v1.0.1.
  2 + Written by Keith Wood (kbwood{at}iinet.com.au) December 2013.
  3 + Licensed under the MIT (http://keith-wood.name/licence.html) license. */
  4 +(function(){var j=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function extender(f){var g=this.prototype;j=true;var h=new this();j=false;for(var i in f){h[i]=typeof f[i]=='function'&&typeof g[i]=='function'?(function(d,e){return function(){var b=this._super;this._super=function(a){return g[d].apply(this,a||[])};var c=e.apply(this,arguments);this._super=b;return c}})(i,f[i]):f[i]}function JQClass(){if(!j&&this._init){this._init.apply(this,arguments)}}JQClass.prototype=h;JQClass.prototype.constructor=JQClass;JQClass.extend=extender;return JQClass}})();(function($){JQClass.classes.JQPlugin=JQClass.extend({name:'plugin',defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return'is-'+this.name},_init:function(){$.extend(this.defaultOptions,(this.regionalOptions&&this.regionalOptions[''])||{});var c=camelCase(this.name);$[c]=this;$.fn[c]=function(a){var b=Array.prototype.slice.call(arguments,1);if($[c]._isNotChained(a,b)){return $[c][a].apply($[c],[this[0]].concat(b))}return this.each(function(){if(typeof a==='string'){if(a[0]==='_'||!$[c][a]){throw'Unknown method: '+a;}$[c][a].apply($[c],[this].concat(b))}else{$[c]._attach(this,a)}})}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_isNotChained:function(a,b){if(a==='option'&&(b.length===0||(b.length===1&&typeof b[0]==='string'))){return true}return $.inArray(a,this._getters)>-1},_attach:function(a,b){a=$(a);if(a.hasClass(this._getMarker())){return}a.addClass(this._getMarker());b=$.extend({},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c);this._postAttach(a,c);this.option(a,b)},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(d){try{var f=d.data(this.name.toLowerCase())||'';f=f.replace(/'/g,'"');f=f.replace(/([a-zA-Z0-9]+):/g,function(a,b,i){var c=f.substring(0,i).match(/"/g);return(!c||c.length%2===0?'"'+b+'":':b+':')});f=$.parseJSON('{'+f+'}');for(var g in f){var h=f[g];if(typeof h==='string'&&h.match(/^new Date\((.*)\)$/)){f[g]=eval(h)}}return f}catch(e){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name);if(!b||(typeof b==='string'&&c==null)){var e=(d||{}).options;return(e&&b?e[b]:e)}if(!a.hasClass(this._getMarker())){return}var e=b||{};if(typeof b==='string'){e={};e[b]=c}this._optionsChanged(a,d,e);$.extend(d.options,e)},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}this._preDestroy(a,this._getInst(a));a.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(a,b){}});function camelCase(c){return c.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}$.JQPlugin={createPlugin:function(a,b){if(typeof a==='object'){b=a;a='JQPlugin'}a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b);new JQClass.classes[c]()}}})(jQuery);
0 \ No newline at end of file 5 \ No newline at end of file
ieducar/lib/Portabilis/View/Helper/Input/DateDiaMes.php 0 → 100644
@@ -0,0 +1,85 @@ @@ -0,0 +1,85 @@
  1 +<?php
  2 +
  3 +require_once __DIR__ . '/../../../../Portabilis/View/Helper/Input/Core.php';
  4 +require_once __DIR__ . '/../../../../Portabilis/Date/Utils.php';
  5 +
  6 +/**
  7 + * Class Portabilis_View_Helper_Input_DateDiaMes
  8 + */
  9 +class Portabilis_View_Helper_Input_DateDiaMes extends Portabilis_View_Helper_Input_Core
  10 +{
  11 + public function dateDiaMes($attrName, $options = [])
  12 + {
  13 + $defaultOptions = ['options' => [], 'objectName' => ''];
  14 +
  15 + $options = $this->mergeOptions($options, $defaultOptions);
  16 +
  17 + $spacer = !empty($options['objectName']) && !empty($attrName) ? '_' : '';
  18 +
  19 + $label = !empty($attrName) ? $attrName : $options['objectName'];
  20 + $label = str_replace('_id', '', $label);
  21 +
  22 + $defaultInputOptions = [
  23 + 'id' => $options['objectName'] . $spacer . $attrName,
  24 + 'label' => ucwords($label),
  25 + 'value' => null,
  26 + 'required' => true,
  27 + 'label_hint' => '',
  28 + 'inline' => false,
  29 + 'callback' => false,
  30 + 'disabled' => false,
  31 + 'size' => 5, // opção suportada pelo elemento, mas não pelo helper ieducar
  32 + 'hint' => 'dd/mm',
  33 + ];
  34 +
  35 + $inputOptions = $this->mergeOptions($options['options'], $defaultInputOptions);
  36 +
  37 + $isDbFormatted = strrpos($inputOptions['value'], '-') > -1;
  38 +
  39 + if ($isDbFormatted) {
  40 + $inputOptions['value'] = Portabilis_Date_Utils::pgSQLToBr($inputOptions['value']);
  41 + }
  42 +
  43 + call_user_func_array([$this->viewInstance, 'campoDataDiaMes'], $inputOptions);
  44 +
  45 + $this->fixupPlaceholder($inputOptions);
  46 + $this->fixupOptions($inputOptions);
  47 + }
  48 +
  49 + protected function fixupOptions($inputOptions)
  50 + {
  51 + $id = $inputOptions['id'];
  52 +
  53 + $sizeFixup = '$input.attr(\'size\', ' . $inputOptions['size'] . ');';
  54 + $disableFixup = $inputOptions['disabled'] ? '$input.attr(\'disabled\', \'disabled\');' : '';
  55 +
  56 + $script = '
  57 + var $input = $j(\'#' . $id . "');
  58 + $sizeFixup
  59 + $disableFixup
  60 +
  61 + \$input .change(function(){
  62 + if (this.value == '') {
  63 + return true;
  64 + }
  65 +
  66 + const data = this.value.split('/');
  67 + const year = new Date().getFullYear();
  68 +
  69 + const day = parseInt(data[0]);
  70 + const month = parseInt(data[1]);
  71 +
  72 + const newDate = new Date(year, (+month-1), day);
  73 +
  74 + const isValidDate = (Boolean(+newDate) && newDate.getDate() === day && (newDate.getMonth() + 1) === month);
  75 +
  76 + if (! isValidDate){
  77 + messageUtils.error('Informe data válida.', this);
  78 + this.value = '';
  79 + }
  80 + });
  81 + ";
  82 +
  83 + Portabilis_View_Helper_Application::embedJavascript($this->viewInstance, $script, $afterReady = true);
  84 + }
  85 +}
ieducar/lib/Portabilis/View/Helper/Input/TextArea.php
@@ -33,5 +33,69 @@ class Portabilis_View_Helper_Input_TextArea extends Portabilis_View_Helper_Input @@ -33,5 +33,69 @@ class Portabilis_View_Helper_Input_TextArea extends Portabilis_View_Helper_Input
33 33
34 call_user_func_array([$this->viewInstance, 'campoMemo'], $inputOptions); 34 call_user_func_array([$this->viewInstance, 'campoMemo'], $inputOptions);
35 $this->fixupPlaceholder($inputOptions); 35 $this->fixupPlaceholder($inputOptions);
  36 +
  37 + if ($inputOptions['max_length'] > 0) {
  38 +
  39 + $this->loadAssets();
  40 +
  41 + if(empty($inputOptions['max_length_plugin_options']['max'])){
  42 + $inputOptions['max_length_plugin_options']['max'] = $inputOptions['max_length'];
  43 + }
  44 +
  45 + $this->enableMaxLenthPluginJs($inputOptions['id'], $inputOptions['max_length_plugin_options']);
  46 + }
  47 + }
  48 +
  49 + /**
  50 + * Implementação do plugin jQuery Max Length
  51 + * Consultar a documentação para ter acesso a todos as opções de configuração do plugin.
  52 + * Passa no array ['max_length_plugin_options'] do options do elemento
  53 + *
  54 + * @docs http://keith-wood.name/maxlengthRef.html
  55 + */
  56 + protected function enableMaxLenthPluginJs($elementId, $options)
  57 + {
  58 + $this->css();
  59 + $this->js($elementId, $options);
  60 + }
  61 +
  62 + protected function loadAssets()
  63 + {
  64 + $jsFile = '/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/TextArea.js';
  65 + Portabilis_View_Helper_Application::loadJavascript($this->viewInstance, $jsFile);
  66 + }
  67 +
  68 + protected function js($elementId, $options = [])
  69 + {
  70 +
  71 + $objectOptions = json_encode($options);
  72 +
  73 + $js = "
  74 + TextArea.init(\$j('#{$elementId}'), {$objectOptions});
  75 + ";
  76 +
  77 + Portabilis_View_Helper_Application::embedJavascript($this->viewInstance, $js, $afterReady = true);
  78 + }
  79 +
  80 + protected function css()
  81 + {
  82 + $css = "
  83 + .maxlength-feedback {
  84 + display: table;
  85 + margin: 0;
  86 + vertical-align: bottom;
  87 + position: relative;
  88 + left: 22.75em;
  89 + top: -4px;
  90 + width: 4em;
  91 + padding-right: 0.25em;
  92 + padding-left: 0.25em;
  93 + color: #fff;
  94 + background-color: #0ac336;
  95 + text-align: center;
  96 + border-radius: 3px;
  97 + }
  98 + ";
  99 + Portabilis_View_Helper_Application::embedStylesheet($this->viewInstance, $css);
36 } 100 }
37 } 101 }
ieducar/lib/Portabilis/View/Helper/Inputs.php
@@ -96,6 +96,11 @@ class Portabilis_View_Helper_Inputs @@ -96,6 +96,11 @@ class Portabilis_View_Helper_Inputs
96 $this->input('date', $attrName, $inputOptions, $helperOptions); 96 $this->input('date', $attrName, $inputOptions, $helperOptions);
97 } 97 }
98 98
  99 + public function dateDiaMes($attrName, $inputOptions = [], $helperOptions = [])
  100 + {
  101 + $this->input('dateDiaMes', $attrName, $inputOptions, $helperOptions);
  102 + }
  103 +
99 public function textArea($attrName, $inputOptions = [], $helperOptions = []) 104 public function textArea($attrName, $inputOptions = [], $helperOptions = [])
100 { 105 {
101 $this->input('textArea', $attrName, $inputOptions, $helperOptions); 106 $this->input('textArea', $attrName, $inputOptions, $helperOptions);
ieducar/modules/Avaliacao/Service/Boletim.php
@@ -262,7 +262,19 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable @@ -262,7 +262,19 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
262 $matricula 262 $matricula
263 )); 263 ));
264 264
265 - $this->_setComponentes(App_Model_IedFinder::getComponentesPorMatricula($codMatricula, $this->getComponenteDataMapper(), $this->getComponenteTurmaDataMapper(), $componenteCurricularId, $etapaAtual, null, $matricula)); 265 + $this->_setComponentes(
  266 + App_Model_IedFinder::getComponentesPorMatricula(
  267 + $codMatricula,
  268 + $this->getComponenteDataMapper(),
  269 + $this->getComponenteTurmaDataMapper(),
  270 + $componenteCurricularId,
  271 + $etapaAtual,
  272 + null,
  273 + $matricula,
  274 + true,
  275 + $this->getOption('ignorarDispensasParciais')
  276 + )
  277 + );
266 278
267 $this->setOption('matriculaData', $matricula); 279 $this->setOption('matriculaData', $matricula);
268 $this->setOption('aprovado', $matricula['aprovado']); 280 $this->setOption('aprovado', $matricula['aprovado']);
@@ -2590,7 +2602,9 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable @@ -2590,7 +2602,9 @@ class Avaliacao_Service_Boletim implements CoreExt_Configurable
2590 null, 2602 null,
2591 $this->getOption('etapaAtual'), 2603 $this->getOption('etapaAtual'),
2592 null, 2604 null,
2593 - $this->getOption('matriculaData') 2605 + $this->getOption('matriculaData'),
  2606 + true,
  2607 + $this->getOption('ignorarDispensasParciais')
2594 ) 2608 )
2595 ); 2609 );
2596 } 2610 }
ieducar/modules/Avaliacao/Service/Boletim/Acessores.php
@@ -22,7 +22,8 @@ trait Avaliacao_Service_Boletim_Acessores @@ -22,7 +22,8 @@ trait Avaliacao_Service_Boletim_Acessores
22 protected $_options = [ 22 protected $_options = [
23 'matricula' => null, 23 'matricula' => null,
24 'etapas' => null, 24 'etapas' => null,
25 - 'usuario' => null 25 + 'usuario' => null,
  26 + 'ignorarDispensasParciais' => false,
26 ]; 27 ];
27 28
28 /** 29 /**
ieducar/modules/Cadastro/Assets/Javascripts/TransferenciaSolicitacao.js
1 -$j(function(){  
2 - $campoEscolaDestinoExterna = $j('#escola_destino_externa');  
3 - $campoEstadoEscolaDestinoExterna = $j('#estado_escola_destino_externa');  
4 - $campoMunicipioEscolaDestinoExterna = $j('#municipio_escola_destino_externa');  
5 - $campoEscolaDestinoSistema = $j('#ref_cod_escola_destino');  
6 -  
7 - $campoEscolaDestinoExterna.closest("tr").hide();  
8 - $campoEstadoEscolaDestinoExterna.closest("tr").hide();  
9 - $campoMunicipioEscolaDestinoExterna.closest("tr").hide();  
10 - $campoEscolaDestinoSistema.val('');  
11 -  
12 - $campoEscolaDestinoSistema.on('change', onEscolaDestinoSistemaClick);  
13 -  
14 -  
15 - function onEscolaDestinoSistemaClick(){  
16 - if($j(this).val() == 0){  
17 - $campoEscolaDestinoExterna.closest("tr").show();  
18 - $campoEstadoEscolaDestinoExterna.closest("tr").show();  
19 - $campoMunicipioEscolaDestinoExterna.closest("tr").show();  
20 - }else{  
21 - $campoEscolaDestinoExterna.closest("tr").hide();  
22 - $campoEstadoEscolaDestinoExterna.closest("tr").hide();  
23 - $campoEscolaDestinoExterna.closest("tr").hide();  
24 - $campoMunicipioEscolaDestinoExterna.val("");  
25 - $campoEstadoEscolaDestinoExterna.val("");  
26 - $campoMunicipioEscolaDestinoExterna.val("");  
27 - }  
28 - }  
29 -}); 1 +$j(document).ready(function () {
  2 + $campoEscolaDestinoExterna = $j('#escola_destino_externa');
  3 + $campoEstadoEscolaDestinoExterna = $j('#estado_escola_destino_externa');
  4 + $campoMunicipioEscolaDestinoExterna = $j('#municipio_escola_destino_externa');
  5 +
  6 + $campoEscolaDestinoExterna.closest("tr").hide();
  7 + $campoEstadoEscolaDestinoExterna.closest("tr").hide();
  8 + $campoMunicipioEscolaDestinoExterna.closest("tr").hide();
  9 +
  10 + let msg = '<b>Novidade</b>: O processo de transferência foi simplificado!<br/>' +
  11 + 'Agora você não precisa mais informar o tipo de transferência<br/>' +
  12 + 'que será utilizado. Basta preencher os campos obrigatórios, e<br/>' +
  13 + 'o aluno ficará com a situação de transferido automaticamente.';
  14 +
  15 + $j('<p>').addClass('right-top-notice notice')
  16 + .html(stringUtils.toUtf8(msg))
  17 + .appendTo($j('#tr_nm_aluno').closest('td'));
30 18
31 -var msg = '<b>Novidade</b>: O processo de transferência foi simplificado!<br/>' +  
32 - 'Agora você não precisa mais informar o tipo de transferência<br/>' +  
33 - 'que será utilizado. Basta preencher os campos obrigatórios, e<br/>'+  
34 - 'o aluno ficará com a situação de transferido automaticamente.'; 19 + $j('#ref_cod_instituicao').makeRequired();
  20 + $j('#ref_cod_escola').makeRequired();
  21 + $j('#escola_em_outro_municipio').change(mostraEscolaOutroMunicipio);
35 22
36 -$j('<p>').addClass('right-top-notice notice')  
37 - .html(stringUtils.toUtf8(msg))  
38 - .appendTo($j('#tr_nm_aluno').closest('td'));  
39 \ No newline at end of file 23 \ No newline at end of file
  24 + function mostraEscolaOutroMunicipio() {
  25 + if ($j(this).is(':checked')) {
  26 + $campoEscolaDestinoExterna.closest("tr").show();
  27 + $campoEstadoEscolaDestinoExterna.closest("tr").show();
  28 + $campoMunicipioEscolaDestinoExterna.closest("tr").show();
  29 + $j('#ref_cod_instituicao').closest("tr").hide();
  30 + $j('#ref_cod_escola').closest("tr").hide();
  31 + } else {
  32 + $campoEscolaDestinoExterna.closest("tr").hide();
  33 + $campoEstadoEscolaDestinoExterna.closest("tr").hide();
  34 + $campoMunicipioEscolaDestinoExterna.closest("tr").hide();
  35 + $j('#ref_cod_instituicao').closest("tr").show();
  36 + $j('#ref_cod_instituicao').makeRequired();
  37 + $j('#ref_cod_escola').closest("tr").show();
  38 + $j('#ref_cod_escola').makeRequired();
  39 + $campoEscolaDestinoExterna.val("");
  40 + $campoEstadoEscolaDestinoExterna.val("");
  41 + $campoMunicipioEscolaDestinoExterna.val("");
  42 + }
  43 + }
  44 +
  45 + let $submitButton = $j('#btn_enviar');
  46 +
  47 + $submitButton.removeAttr('onclick');
  48 + $submitButton.click(validaSubmit);
  49 +
  50 + function validaSubmit() {
  51 + if (!$j('#escola_em_outro_municipio').is(':checked')) {
  52 + if ($j('#ref_cod_instituicao').closest("select").val() === '') {
  53 + return alert('É necessário informar a instituição');
  54 + }
  55 + if ($j('#ref_cod_escola').closest("select").val() === '') {
  56 + return alert('É necessário informar a escola');
  57 + }
  58 + }
  59 + acao();
  60 + }
  61 +});
ieducar/modules/HistoricoEscolar/Views/ProcessamentoApiController.php
@@ -1133,7 +1133,8 @@ class ProcessamentoApiController extends Core_Controller_Page_EditController @@ -1133,7 +1133,8 @@ class ProcessamentoApiController extends Core_Controller_Page_EditController
1133 $this->service = new Avaliacao_Service_Boletim( 1133 $this->service = new Avaliacao_Service_Boletim(
1134 [ 1134 [
1135 'matricula' => $matriculaId, 1135 'matricula' => $matriculaId,
1136 - 'usuario' => $this->getSession()->id_pessoa 1136 + 'usuario' => $this->getSession()->id_pessoa,
  1137 + 'ignorarDispensasParciais' => true,
1137 ] 1138 ]
1138 ); 1139 );
1139 1140
ieducar/modules/Portabilis/Assets/Javascripts/Frontend/Inputs/TextArea.js 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +var TextArea = (function () {
  2 +
  3 + var _init = function (el, options) {
  4 +
  5 + let defaultOptions = {
  6 + feedbackText: '{c}/{m}',
  7 + max: 380
  8 + };
  9 +
  10 + Object.assign(defaultOptions, options);
  11 +
  12 + el.maxlength(defaultOptions);
  13 + };
  14 +
  15 + return {
  16 + init: _init
  17 + }
  18 +})();
0 \ No newline at end of file 19 \ No newline at end of file
@@ -10,14 +10,14 @@ @@ -10,14 +10,14 @@
10 "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js" 10 "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js"
11 }, 11 },
12 "devDependencies": { 12 "devDependencies": {
13 - "axios": "^0.18", 13 + "axios": "^0.21.1",
14 "bootstrap": "^4.4.1", 14 "bootstrap": "^4.4.1",
15 "cross-env": "^5.1", 15 "cross-env": "^5.1",
16 "jquery": "^3.5.0", 16 "jquery": "^3.5.0",
17 - "laravel-mix": "^4.0.7", 17 + "laravel-mix": "^6.0.6",
18 "lodash": "^4.17.5", 18 "lodash": "^4.17.5",
19 "popper.js": "^1.16.1", 19 "popper.js": "^1.16.1",
20 - "resolve-url-loader": "^2.3.1", 20 + "resolve-url-loader": "^3.1.2",
21 "sass": "^1.26.3", 21 "sass": "^1.26.3",
22 "sass-loader": "^7.1.0", 22 "sass-loader": "^7.1.0",
23 "vue": "^2.6.11", 23 "vue": "^2.6.11",
public/install.php
@@ -67,7 +67,7 @@ $host = $_SERVER[&#39;HTTP_HOST&#39;] ?? &#39;&#39;; @@ -67,7 +67,7 @@ $host = $_SERVER[&#39;HTTP_HOST&#39;] ?? &#39;&#39;;
67 $dbCheck = false; 67 $dbCheck = false;
68 68
69 if ($envExists) { 69 if ($envExists) {
70 - Dotenv\Dotenv::create($rootDir)->load(); 70 + Dotenv\Dotenv::createImmutable($rootDir)->load();
71 $dbCheck = $installer->checkDatabaseConnection(); 71 $dbCheck = $installer->checkDatabaseConnection();
72 $isInstalled = $installer->isInstalled(); 72 $isInstalled = $installer->isInstalled();
73 } 73 }
@@ -80,7 +80,7 @@ facilitar o desenvolvimento. @@ -80,7 +80,7 @@ facilitar o desenvolvimento.
80 80
81 #### Servidor 81 #### Servidor
82 82
83 -- [PHP](http://php.net/) versão 7.3 ou superior 83 +- [PHP](http://php.net/) versão 7.4
84 - [Postgres](https://www.postgresql.org/) versão 9.5 (exata) 84 - [Postgres](https://www.postgresql.org/) versão 9.5 (exata)
85 - [Nginx](https://www.nginx.com/) 85 - [Nginx](https://www.nginx.com/)
86 86
@@ -242,6 +242,7 @@ e siga as instruções de instalação. @@ -242,6 +242,7 @@ e siga as instruções de instalação.
242 242
243 #### Upgrade 243 #### Upgrade
244 244
  245 +- [Upgrade para 2.5 da 2.4](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.5-da-2.4).
245 - [Upgrade para 2.4 da 2.3](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.4-da-2.3). 246 - [Upgrade para 2.4 da 2.3](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.4-da-2.3).
246 - [Upgrade para 2.3 da 2.2](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.3-da-2.2). 247 - [Upgrade para 2.3 da 2.2](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.3-da-2.2).
247 - [Upgrade para 2.2 da 2.1](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.2-da-2.1). 248 - [Upgrade para 2.2 da 2.1](https://github.com/portabilis/i-educar/wiki/Upgrade-para-2.2-da-2.1).
resources/views/layout/default.blade.php
@@ -57,6 +57,7 @@ @@ -57,6 +57,7 @@
57 <link rel="stylesheet" type="text/css" href="https://unpkg.com/vue-multiselect@2.1.0/dist/vue-multiselect.min.css"> 57 <link rel="stylesheet" type="text/css" href="https://unpkg.com/vue-multiselect@2.1.0/dist/vue-multiselect.min.css">
58 <link rel="stylesheet" type='text/css' href='{{ Asset::get('css/base.css') }}'> 58 <link rel="stylesheet" type='text/css' href='{{ Asset::get('css/base.css') }}'>
59 <link rel="stylesheet" type="text/css" href='{{ Asset::get('/intranet/scripts/jquery/jquery-ui.min-1.9.2/css/custom/jquery-ui-1.9.2.custom.min.css') }}'> 59 <link rel="stylesheet" type="text/css" href='{{ Asset::get('/intranet/scripts/jquery/jquery-ui.min-1.9.2/css/custom/jquery-ui-1.9.2.custom.min.css') }}'>
  60 + <link rel="stylesheet" type="text/css" href='{{ Asset::get('/intranet/scripts/jquery-maxlength/jquery.maxlength.css') }}'>
60 61
61 @stack('styles') 62 @stack('styles')
62 63
@@ -303,6 +304,8 @@ @@ -303,6 +304,8 @@
303 <script type="text/javascript" src="{{ Asset::get("/intranet/scripts/flash-messages.js") }}"></script> 304 <script type="text/javascript" src="{{ Asset::get("/intranet/scripts/flash-messages.js") }}"></script>
304 <script type="text/javascript" src="{{ Asset::get("/js/app.js") }}"></script> 305 <script type="text/javascript" src="{{ Asset::get("/js/app.js") }}"></script>
305 <script type="text/javascript" src="{{ Asset::get("/intranet/scripts/notifications.js") }}"></script> 306 <script type="text/javascript" src="{{ Asset::get("/intranet/scripts/notifications.js") }}"></script>
  307 +<script type="text/javascript" src="{{ Asset::get("/intranet/scripts/jquery-maxlength/jquery.plugin.min.js") }}"></script>
  308 +<script type="text/javascript" src="{{ Asset::get("/intranet/scripts/jquery-maxlength/jquery.maxlength.min.js") }}"></script>
306 <script> 309 <script>
307 getNotifications(); 310 getNotifications();
308 311
1 -#!/bin/bash 1 +#!/bin/sh
2 2
3 VERSION=`cat composer.json | jq -r '.version' | tr -d '[:space:]'` 3 VERSION=`cat composer.json | jq -r '.version' | tr -d '[:space:]'`
4 BUILD_FOLDER=ieducar-${VERSION} 4 BUILD_FOLDER=ieducar-${VERSION}