INFO: Java 1.8.0_322 Amazon.com Inc. (64-bit)
INFO: Linux 4.4.0-1128-aws amd64
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-core-2.17.0.899.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-cli-2.1.0.566.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
INFO: Index files
INFO: Invalid character encountered in file '/code/database/seeders/avatar.jpg' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/poster.jpg' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/scorm.zip' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/1.jpg' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/1.pdf' at line 6 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/1.mp4' at line 2 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/cmi5.zip' at line 2 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/hp5.h5p' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/database/mocks/1.mp3' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: Invalid character encountered in file '/code/docs/topic_types.png' at line 1 for encoding UTF-8. Please fix file content or configure the encoding to be used using property 'sonar.sourceEncoding'.
INFO: 108 files indexed
INFO: 82 source files to be analyzed
ERROR: Unable to parse file: /code/src/Helpers/Markdown.php
ERROR: Parse error at line 56 column 30:
46: function ($match) use ($destinationPrefix, &$results) {
47: $filepath = $match[3] ?? null;
48: $basename = basename($filepath);
49: $destination = sprintf($destinationPrefix . '%s', $basename);
50:
51: if(str_contains($filepath, 'http') && !str_starts_with($filepath, url('/'))) {
52: return str_replace($match[3], $match[3], $match[0]);
53: }
54:
55: // three scenarios
56: match (true) {
^
57: str_contains($filepath, 'api/images/img') => $results[] = $this->convertFilePathByApiPattern($destinationPrefix, $filepath, $destination),
58: str_contains($filepath, 'storage') => $results[] = $this->convertFilePathByStorage($filepath, $destination),
59: str_contains($filepath, 'http') => $results[] = $this->convertFilePathByHttp($destinationPrefix, $filepath, $destination),
60: default => $results[] = null,
61: };
62:
63: return str_replace($match[3], $destination, $match[0]);
64: },
65: $input
66: );
ERROR: Unable to parse file: /code/src/EscolaLmsTopicTypesServiceProvider.php
ERROR: Parse error at line 143 column 20:
133: 'client' => ClientCmi5AuResource::class,
134: 'admin' => AdminCmi5AuResource::class,
135: 'export' => ExportCmi5AuResource::class,
136: ]);
137: }
138: }
139:
140: public function register()
141: {
142: H5PContentRepository::extendQueryJoin(
143: fn () => [['topic_h5ps.value', 'hh5p_contents.id']],
^
144: 'topic_h5ps'
145: );
146: H5PContentRepository::extendQuerySelect(
147: fn () => DB::raw("COUNT(topic_h5ps.value) as count_h5p"),
148: 'topic_h5ps'
149: );
150: H5PContentRepository::extendQueryGroupBy(
151: fn () => [
152: 'hh5p_contents.id',
153: 'hh5p_contents.uuid',
ERROR: Unable to parse file: /code/src/Models/TopicContent/AbstractTopicFileContent.php
ERROR: Parse error at line 26 column 65:
16: {
17: protected $appends = ['url'];
18:
19: public function getFileKeyNames(): array
20: {
21: return Collection::make($this->rules())
22: ->filter(function ($fieldRules) {
23: if (is_array($fieldRules)) {
24: return in_array('file', $fieldRules) ||
25: in_array('image', $fieldRules) ||
26: collect($fieldRules)->filter(fn($rule) => strpos($rule, 'mimes') !== false)->count();
^
27: }
28:
29: return strpos('file', $fieldRules) !== false ||
30: strpos('image', $fieldRules) !== false;
31: })
32: ->keys()
33: ->toArray();
34: }
35:
36: public function generateStoragePath(?string $basePath = null): string
ERROR: Unable to parse file: /code/src/Events/TopicTypeChanged.php
ERROR: Parse error at line 15 column 21:
5: use EscolaLms\TopicTypes\Models\TopicContent\AbstractTopicContent;
6: use Illuminate\Contracts\Auth\Authenticatable;
7: use Illuminate\Foundation\Events\Dispatchable;
8: use Illuminate\Queue\SerializesModels;
9:
10: class TopicTypeChanged
11: {
12: use Dispatchable;
13: use SerializesModels;
14:
15: private AbstractTopicContent $topicContent;
^
16: private ?Authenticatable $user;
17:
18: public function __construct(?Authenticatable $user, AbstractTopicContent $topicContent)
19: {
20: $this->topicContent = $topicContent;
21: $this->user = $user;
22: }
23:
24: public function getTopicContent(): AbstractTopicContent
25: {
ERROR: Unable to parse file: /code/database/seeders/CoursesWithTopicSeeder.php
ERROR: Parse error at line 82 column 50:
72: foreach ($tutors as $tutor) {
73: $tutor->update([
74: 'path_avatar' => 'tutor_avatar.jpg',
75: ]);
76: }
77:
78: $courses = Course::factory()
79: ->count(random_int(5, 10))
80: ->has(Lesson::factory()
81: ->count(random_int(2, 3))
82: ->state(new Sequence(fn(Sequence $sequence) => ['title' => 'Subject ' . $this->faker->word]))
^
83: ->has(Lesson::factory()
84: ->count(random_int(2, 3))
85: ->state(new Sequence(fn(Sequence $sequence) => ['title' => 'Module ' . $this->faker->word]))
86: ->has(Lesson::factory()
87: ->count(random_int(2, 3))
88: ->state(new Sequence(fn(Sequence $sequence) => ['title' => 'Topic ' . $this->faker->word]))
89: ->has(Lesson::factory()
90: ->count(random_int(2, 3))
91: ->state(new Sequence(fn(Sequence $sequence) => ['title' => 'Lesson ' . $this->faker->word]))
92: ->afterCreating(function (Lesson $lesson) use ($hasH5P) {
ERROR: Unable to parse file: /code/database/factories/TopicResourceFactory.php
ERROR: Parse error at line 43 column 95:
33:
34: public function forTopic(Topic $topic)
35: {
36: return $this->state(function () use ($topic) {
37: $topicId = $topic->getKey();
38: $path = "topic/{$topicId}/resources/";
39: $filename = "{$this->faker->word}.pdf";
40: $dest = Storage::disk('public')->path($path . $filename);
41: $destDir = dirname($dest);
42:
43: Storage::putFileAs($path, new File(realpath(__DIR__.'/../mocks/1.pdf'), $filename);
^
44:
45: return [
46: 'topic_id' => $topic,
47: 'path' => $path,
48: 'name' => $filename,
49: ];
50: });
51: }
52: }
53:
INFO: 82/82 source files have been analyzed
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 1.175s
INFO: Final Memory: 9M/163M
INFO: ------------------------------------------------------------------------
|