Roberto Santini 3 gadus atpakaļ
vecāks
revīzija
8a3be556ff
34 mainītis faili ar 2464 papildinājumiem un 204 dzēšanām
  1. 122
    0
      app/DataTables/AziendaDataTable.php
  2. 66
    0
      app/DataTables/AziendaDataTableEditor.php
  3. 35
    0
      app/Http/Controllers/AziendaController.php
  4. 125
    41
      app/Http/Controllers/IssueController.php
  5. 25
    10
      app/Http/Controllers/LoginController.php
  6. 2
    1
      app/Http/Middleware/CheckRedmineAuth.php
  7. 60
    0
      app/Models/AbstractModels/AbstractAzienda.php
  8. 6
    0
      app/Models/Azienda.php
  9. 1
    1
      config/app.php
  10. 5
    10
      config/filesystems.php
  11. 39
    0
      database/migrations/2022_03_11_154913_skipper_migrations_2022031115491329.php
  12. 36
    0
      database/migrations/2022_03_11_161942_skipper_migrations_2022031116194269.php
  13. 64
    0
      database/migrations/2022_03_11_165412_skipper_migrations_2022031116541229.php
  14. Binārs
      public/assets/logo.png
  15. Binārs
      public/assets/logo_rm.png
  16. 58
    0
      resources/views/azienda/index.blade.php
  17. 13
    0
      resources/views/azienda/menu.blade.php
  18. 5
    1
      resources/views/components/application-logo.blade.php
  19. 38
    3
      resources/views/issue/firma.blade.php
  20. 5
    1
      resources/views/issue/pdf.blade.php
  21. 1
    1
      resources/views/issue/show.blade.php
  22. 23
    0
      resources/views/issue/success.blade.php
  23. 36
    2
      resources/views/layouts/navigation.blade.php
  24. 6
    1
      resources/views/login/index.blade.php
  25. 10
    3
      resources/views/testata_pdf.blade.php
  26. 123
    127
      resources/views/welcome.blade.php
  27. 5
    0
      routes/web.php
  28. 572
    0
      storage/fonts/Times-Bold.afm.php
  29. 2
    2
      storage/fonts/dompdf_font_family_cache.php
  30. Binārs
      storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ttf
  31. 249
    0
      storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ufm
  32. Binārs
      storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ttf
  33. 249
    0
      storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ufm
  34. 483
    0
      storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ufm.php

+ 122
- 0
app/DataTables/AziendaDataTable.php Parādīt failu

@@ -0,0 +1,122 @@
1
+<?php
2
+
3
+namespace App\DataTables;
4
+
5
+use Yajra\DataTables\Services\DataTable;
6
+use Yajra\DataTables\Html\Button;
7
+use Yajra\DataTables\Html\Column;
8
+use Yajra\DataTables\Html\Editor\Editor;
9
+use Yajra\DataTables\Html\Editor\Fields;
10
+use App\Models\Azienda;
11
+use Form;
12
+use Auth;
13
+
14
+class AziendaDataTable extends DataTable
15
+{
16
+  public function __construct(){
17
+    $this->dataTableVariable = 'dataTable_azienda';
18
+  }
19
+
20
+  /**
21
+  * Build DataTable class.
22
+  *
23
+  * @param mixed $query Results from query() method.
24
+  * @return \Yajra\DataTables\DataTableAbstract
25
+  */
26
+  public function dataTable($query)
27
+  {
28
+    return datatables()
29
+    ->eloquent($query)
30
+    ->setRowId('id')
31
+    ->addColumn('action', function($entity){
32
+      return view('azienda.menu', ['entity' => $entity]);
33
+    })
34
+    ->rawColumns(['action']);
35
+  }
36
+
37
+
38
+  /**
39
+  * Get query source of dataTable.
40
+  *
41
+  * @param \App\Azienda $model
42
+  * @return \Illuminate\Database\Eloquent\Builder
43
+  */
44
+  public function query(Azienda $model)
45
+  {
46
+    $builder = $model->newQuery();
47
+
48
+    return $builder;
49
+  }
50
+
51
+  /**
52
+  * Optional method if you want to use html builder.
53
+  *
54
+  * @return \Yajra\DataTables\Html\Builder
55
+  */
56
+  public function html()
57
+  {
58
+    $buttons = [];
59
+    array_push(
60
+      $buttons,
61
+      Button::make('create')
62
+      ->editor('editor')
63
+      ->className('btn btn-sm btn-primary')
64
+      ->formTitle('Nuova azienda')
65
+      ->formButtons([
66
+        Button::raw('Annulla')
67
+        ->className('btn btn-secondary ml-2')
68
+        ->actionClose(),
69
+        Button::raw('Salva')
70
+        ->className('btn btn-success ml-2')
71
+        ->actionHandler('create')
72
+      ]
73
+      )
74
+      ->text('<i class="fas fa-plus"></i> Nuova azienda')
75
+    );
76
+
77
+
78
+    $builder = $this->builder()
79
+    ->setTableId($this->dataTableVariable)
80
+    ->columns($this->getColumns())
81
+    ->language(asset('plugins/datatables/Italian.json'))
82
+    ->dom(count($buttons)==0?'rtip':'Brtip')
83
+    ->orderBy(1)
84
+    ->buttons($buttons)
85
+    ->editor(
86
+      Editor::make()
87
+      ->fields([
88
+        Fields\Text::make('ragione_sociale', 'Ragione Sociale'),
89
+        Fields\TextArea::make('intestazione', 'Intestazione'),
90
+        Fields\Radio::make('is_attivo', 'Attivo?')
91
+        ->options([['label' => 'Si', 'value' => 1], ['label' => 'No', 'value' => 0]])
92
+        ->default(1),
93
+        Fields\Radio::make('default', 'Azienda di default')
94
+        ->options([['label' => 'Si', 'value' => 1], ['label' => 'No', 'value' => 0]])
95
+        ->default(0),
96
+        Fields\File::make('path_logo', 'Logo'),
97
+        Fields\Text::make('redmine_url', 'Redmine Url'),
98
+      ])
99
+    );
100
+
101
+    return $builder;
102
+  }
103
+
104
+  /**
105
+  * Get columns.
106
+  *
107
+  * @return array
108
+  */
109
+  protected function getColumns()
110
+  {
111
+    return [
112
+      Column::make('ragione_sociale')->title('Ragione Sociale'),
113
+      Column::make('intestazione')->title('Intestazione'),
114
+      Column::computed('action', '')
115
+      ->exportable(false)
116
+      ->printable(false)
117
+      ->title(' ')
118
+      ->addClass('text-right'),
119
+    ];
120
+  }
121
+
122
+}

+ 66
- 0
app/DataTables/AziendaDataTableEditor.php Parādīt failu

@@ -0,0 +1,66 @@
1
+<?php
2
+
3
+namespace App\DataTables;
4
+
5
+use App\Models\Azienda;
6
+use Illuminate\Database\Eloquent\Model;
7
+use Illuminate\Validation\Rule;
8
+use Yajra\DataTables\DataTablesEditor;
9
+use Illuminate\Http\Request;
10
+use Illuminate\Validation\ValidationException;
11
+use Storage;
12
+
13
+class AziendaDataTableEditor extends DataTablesEditor
14
+{
15
+  protected $model = Azienda::class;
16
+  protected $uploadDir = '';
17
+  protected $disk = 'azienda';
18
+  protected $messages = [
19
+    'ragione_sociale.required' => 'La ragione sociale è richiesta',
20
+  ];
21
+
22
+  /**
23
+  * Get create action validation rules.
24
+  *
25
+  * @return array
26
+  */
27
+  public function createRules()
28
+  {
29
+    return [
30
+      'ragione_sociale'  => 'required',
31
+    ];
32
+  }
33
+
34
+  public function createMessages(){
35
+    return $this->messages;
36
+  }
37
+
38
+  /**
39
+  * Get edit action validation rules.
40
+  *
41
+  * @param Model $model
42
+  * @return array
43
+  */
44
+  public function editRules(Model $model)
45
+  {
46
+    return [
47
+      'ragione_sociale'  => 'required',
48
+    ];
49
+  }
50
+
51
+  public function editMessages(){
52
+    return $this->messages;
53
+  }
54
+  /**
55
+  * Get remove action validation rules.
56
+  *
57
+  * @param Model $model
58
+  * @return array
59
+  */
60
+  public function removeRules(Model $model)
61
+  {
62
+    return [];
63
+  }
64
+
65
+
66
+}

+ 35
- 0
app/Http/Controllers/AziendaController.php Parādīt failu

@@ -0,0 +1,35 @@
1
+<?php
2
+
3
+namespace App\Http\Controllers;
4
+
5
+use Illuminate\Http\Request;
6
+use App\Models\Azienda;
7
+use Session;
8
+use Form;
9
+use Hash;
10
+use Auth;
11
+use Storage;
12
+use PDF;
13
+use Carbon\Carbon;
14
+use Yajra\DataTables\DataTables;
15
+use App\DataTables\AziendaDataTableEditor;
16
+use App\DataTables\AziendaDataTable;
17
+use Notification;
18
+
19
+
20
+class AziendaController extends Controller
21
+{
22
+
23
+  public function index(AziendaDataTable $dataTable)
24
+  {
25
+    return $dataTable->render('azienda.index');
26
+  }
27
+
28
+  public function store(AziendaDataTableEditor $editor)
29
+  {
30
+    $request = request();
31
+    $input = $request->all();
32
+    return $editor->process(request());
33
+  }
34
+
35
+}

+ 125
- 41
app/Http/Controllers/IssueController.php Parādīt failu

@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
6 6
 use Yajra\DataTables\DataTables;
7 7
 use Illuminate\Support\Facades\Http;
8 8
 use Illuminate\Support\Collection;
9
+use Illuminate\Support\Facades\Log;
9 10
 // use App\DataTables\ContabilitaDataTableEditor;
10 11
 use App\DataTables\IssueDataTable;
11 12
 use Carbon\Carbon;
@@ -17,20 +18,43 @@ class IssueController extends Controller
17 18
 {
18 19
   public function index(IssueDataTable $dataTable){
19 20
     $redmineUser = session('redmine_user');
21
+    $collection = new Collection();
20 22
 
21
-    $response = Http::get(config('app.redmine_url').'/issues.json', [
23
+    // Issue assegnati direttamente all'utente
24
+    $issueResponse = Http::get(session('azienda')->redmine_url.'/issues.json', [
22 25
       'key' => $redmineUser->api_key,
23 26
       'assigned_to_id' => $redmineUser->id,
24 27
       'limit' => 100,
25 28
     ]);
26 29
 
27 30
     // dd($response->object()->issues);
28
-    $collection = new Collection();
29
-    foreach($response->object()->issues as $issue){
31
+    foreach($issueResponse->object()->issues as $issue){
30 32
       $collection->push($issue);
31 33
     }
32 34
 
33
-    return $dataTable->with(['issues' => $collection])->render('issue.index', ['issues' => $response->collect()]);
35
+    // Issue assegnati ai gruppi di cui l'utente fa parte
36
+    $groupResponse = Http::get(session('azienda')->redmine_url.'/users/current.json', [
37
+      'key' => $redmineUser->api_key,
38
+      'include' => 'groups'
39
+    ]);
40
+    // dd($groupResponse->object()->user->groups);
41
+
42
+    try{
43
+      foreach($groupResponse->object()->user->groups as $group){
44
+        $issueResponse = Http::get(session('azienda')->redmine_url.'/issues.json', [
45
+          'key' => $redmineUser->api_key,
46
+          'assigned_to_id' => $group->id,
47
+          'limit' => 100,
48
+        ]);
49
+
50
+        foreach($issueResponse->object()->issues as $issue){
51
+          $collection->push($issue);
52
+        }
53
+      }
54
+    }catch(\Exception $e){
55
+    }
56
+
57
+    return $dataTable->with(['issues' => $collection])->render('issue.index');
34 58
   }
35 59
 
36 60
   public function show($id = null, Request $request){
@@ -40,30 +64,35 @@ class IssueController extends Controller
40 64
     //   $id = $request->issue_id;
41 65
     // }
42 66
 
43
-    $response_issue = Http::get(config('app.redmine_url').'/issues/'.$id.'.json?include=attachments,relations', [
67
+    $response_issue = Http::get(session('azienda')->redmine_url.'/issues/'.$id.'.json?include=attachments,relations', [
44 68
       'key' => $redmineUser->api_key,
45 69
     ]);
46 70
 
47
-    $response_helpesk = Http::get(config('app.redmine_url').'/helpdesk_tickets/'.$id.'.json', [
71
+    $response_helpesk = Http::get(session('azienda')->redmine_url.'/helpdesk_tickets/'.$id.'.json', [
48 72
       'key' => $redmineUser->api_key,
49 73
     ]);
50 74
 
51 75
     // dd($response_helpesk->object()->helpdesk_ticket);
52 76
 
53 77
 
54
-    if($response_issue->ok() && $response_helpesk->ok()){
78
+    if($response_issue->ok()){
55 79
       $issue = $response_issue->object()->issue;
56
-      $helpdesk = $response_helpesk->object()->helpdesk_ticket;
80
+      // $helpdesk = $response_helpesk->object()->helpdesk_ticket;
57 81
 
58
-      if(property_exists($helpdesk, 'contact')){
82
+      try{
59 83
         $author = $helpdesk->contact->name." (".$helpdesk->from_address.")";
60
-      }else{
84
+      }catch(\Exception $e){
61 85
         $author = $issue->author->name;
62 86
       }
63 87
 
88
+      // if($response_helpesk->ok() && property_exists($helpdesk, 'contact')){
89
+      // }else{
90
+      // }
91
+
64 92
       return view('issue.show')->with(['issue' => $issue, 'author' => $author]);
65 93
     }else{
66 94
       Session::flash('flash_message', "Errore generico");
95
+      dd($response_issue->object());
67 96
       return redirect()->route('home');
68 97
     }
69 98
   }
@@ -72,14 +101,13 @@ class IssueController extends Controller
72 101
     $redmineUser = session('redmine_user');
73 102
 
74 103
     // Issue details
75
-    $response_issue = Http::get(config('app.redmine_url').'/issues/'.$id.'.json?include=attachments,relations', [
104
+    $response_issue = Http::get(session('azienda')->redmine_url.'/issues/'.$id.'.json?include=attachments,relations', [
76 105
       'key' => $redmineUser->api_key,
77 106
     ]);
78 107
     $issue = $response_issue->object()->issue;
79
-    // dd($issue);
80 108
 
81 109
     // Activity
82
-    $response = Http::get(config('app.redmine_url').'/enumerations/time_entry_activities.json', [
110
+    $response = Http::get(session('azienda')->redmine_url.'/enumerations/time_entry_activities.json', [
83 111
       'key' => $redmineUser->api_key,
84 112
     ]);
85 113
 
@@ -90,7 +118,7 @@ class IssueController extends Controller
90 118
     }
91 119
 
92 120
     // issueStatus
93
-    $response = Http::get(config('app.redmine_url').'/issue_statuses.json', [
121
+    $response = Http::get(session('azienda')->redmine_url.'/issue_statuses.json', [
94 122
       'key' => $redmineUser->api_key,
95 123
     ]);
96 124
 
@@ -100,32 +128,53 @@ class IssueController extends Controller
100 128
     }
101 129
 
102 130
     // Altri tecnici
103
-    $response = Http::get(config('app.redmine_url').'/projects/'.$issue->project->id.'/memberships.json', [
131
+    $response = Http::get(session('azienda')->redmine_url.'/projects/'.$issue->project->id.'/memberships.json', [
104 132
       'key' => $redmineUser->api_key,
105 133
     ]);
106 134
 
107 135
     $memberships = $response->object()->memberships;
108 136
     $altriTecnici = array();
109
-    foreach($memberships as $membership){
110
-      if($membership->user->id == $redmineUser->id) continue; // Scarto il tecnico attualmente loggato
111
-      $altriTecnici[$membership->user->id] = $membership->user->name;
137
+
138
+    try{
139
+      foreach($memberships as $membership){
140
+        if($membership->user->id == $redmineUser->id) continue; // Scarto il tecnico attualmente loggato
141
+        $altriTecnici[$membership->user->id] = $membership->user->name;
142
+      }
143
+    }catch(\Exception $e){
144
+    }
145
+
146
+    // Altre segnalazioni dello stesso progetto, da associare come sottoattività
147
+    $altreSegnalazioni = Http::get(session('azienda')->redmine_url.'/issues.json', [
148
+      'key' => $redmineUser->api_key,
149
+      'project_id' => $issue->project->id
150
+    ]);
151
+
152
+    $collectionAltreSegnalazioni = new Collection();
153
+
154
+    foreach($altreSegnalazioni->object()->issues as $issue){
155
+      $collectionAltreSegnalazioni->push($issue);
112 156
     }
113 157
 
114
-    return view('issue.firma')->with(['issue' => $issue, 'attivita' => $attivita, 'issueStatus' => $issueStatus, 'altriTecnici' => $altriTecnici]);
158
+    // foreach($collectionAltreSegnalazioni as $t){
159
+    //   dd($t->status);
160
+    // }
161
+
162
+
163
+    return view('issue.firma')->with(['issue' => $issue, 'attivita' => $attivita, 'issueStatus' => $issueStatus, 'altriTecnici' => $altriTecnici, 'altreSegnalazioni' => $collectionAltreSegnalazioni]);
115 164
   }
116 165
 
117 166
   public function firma_rapporto(Request $request){
118 167
     $redmineUser = session('redmine_user');
119 168
 
120
-    $response_issue = Http::get(config('app.redmine_url').'/issues/'.$request->issue_id.'.json?include=attachments,relations', [
169
+    $response_issue = Http::get(session('azienda')->redmine_url.'/issues/'.$request->issue_id.'.json?include=attachments,relations', [
121 170
       'key' => $redmineUser->api_key,
122 171
     ]);
123 172
     $issue = $response_issue->object()->issue;
124 173
 
125
-    $response_helpesk = Http::get(config('app.redmine_url').'/helpdesk_tickets/'.$request->issue_id.'.json', [
126
-      'key' => $redmineUser->api_key,
127
-    ]);
128
-    $helpdesk = $response_helpesk->object()->helpdesk_ticket;
174
+    // $response_helpesk = Http::get(session('azienda')->redmine_url.'/helpdesk_tickets/'.$request->issue_id.'.json', [
175
+    //   'key' => $redmineUser->api_key,
176
+    // ]);
177
+    // $helpdesk = $response_helpesk->object()->helpdesk_ticket;
129 178
 
130 179
     // Cliente
131 180
     $cliente = $issue->project->name;
@@ -163,8 +212,9 @@ class IssueController extends Controller
163 212
       'persona_riferimento' => $request->persona_riferimento,
164 213
       'cliente' => $cliente
165 214
     ]);
166
-    // $folder_name = Storage::disk('temp')->getDriver()->getAdapter()->getPathPrefix();
167
-    // $pdf->save($folder_name."/issue_".$request->issue_id.".pdf");
215
+    $folder_name = Storage::disk('temp')->getDriver()->getAdapter()->getPathPrefix();
216
+    $pdf->save($folder_name."/issue_".$request->issue_id.".pdf");
217
+    // return $pdf->stream();
168 218
 
169 219
     $uploads = array();
170 220
 
@@ -174,10 +224,12 @@ class IssueController extends Controller
174 224
       'content-type' => 'application/octet-stream'
175 225
     ])
176 226
     ->withBody($pdf->output(), 'application/pdf')
177
-    ->post("https://".$redmineUser->api_key."@".config('app.redmine_url').'/uploads.json', [
227
+    ->post("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/uploads.json', [
178 228
       'filename' => $filename
179 229
     ]);
180 230
 
231
+    // dd($response->object());
232
+
181 233
 
182 234
     $uploadToken = $response->object()->upload->token;
183 235
     $uploads[] = [
@@ -206,7 +258,7 @@ class IssueController extends Controller
206 258
           'content-type' => 'application/octet-stream'
207 259
         ])
208 260
         ->withBody($allegato->get(), $allegato->getMimeType())
209
-        ->post("https://".$redmineUser->api_key."@".config('app.redmine_url').'/uploads.json', [
261
+        ->post("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/uploads.json', [
210 262
           'filename' => $originalFilename
211 263
         ]);
212 264
 
@@ -222,18 +274,10 @@ class IssueController extends Controller
222 274
           'content_type' => $allegato->getMimeType()
223 275
         ];
224 276
 
225
-
226
-        // $filename = $allegato->storeAs($sopralluogo->id, $originalFilename, 'allegati_sopralluogo');
227
-        // $allegatoSopralluogo = new AllegatoSopralluogo;
228
-        // $allegatoSopralluogo->label = $originalFilename;
229
-        // $allegatoSopralluogo->path_file = $filename;
230
-        // $allegatoSopralluogo->sopralluogo()->associate($sopralluogo);
231
-        // $allegatoSopralluogo->save();
232 277
       }
233 278
     }
234 279
 
235 280
 
236
-    // dd($uploads);
237 281
 
238 282
     // Elimino le firme
239 283
     Storage::disk('temp')->delete([$sign_path_tecnico, $sign_path_cliente]);
@@ -247,7 +291,7 @@ class IssueController extends Controller
247 291
     ];
248 292
 
249 293
     // Aggiorno lo issue
250
-    $response = Http::put("https://".$redmineUser->api_key."@".config('app.redmine_url').'/issues/'.$request->issue_id.'.xml', [
294
+    $response = Http::acceptJson()->put("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$request->issue_id.'.xml', [
251 295
       'issue' => [
252 296
         'notes' => $request->note,
253 297
         'status_id' => $request->status_id,
@@ -257,14 +301,54 @@ class IssueController extends Controller
257 301
       'helpdesk' => [
258 302
         'is_send_mail' => 1
259 303
       ],
260
-
261 304
     ]);
262 305
 
263 306
     $response->throw(function ($response, $e) {
264
-      dd($response->body());
307
+      Session::flash('flash_message', "Errore nell'update dell'issue");
308
+      return redirect()->route('home');
265 309
     });
266 310
 
267
-    // Session::flash('flash_message', "Issue aggiornato");
268
-    // return redirect()->route('home');
311
+
312
+    if($request->has('segnalazioneCorrelata')){
313
+      // Aggiorno le relazioni
314
+
315
+      foreach($request->segnalazioneCorrelata as $key => $segnalazioneCorrelata){
316
+        $response = Http::post("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$request->issue_id.'/relations.xml', [
317
+          'relation' => [
318
+            'issue_to_id' => $segnalazioneCorrelata
319
+          ]
320
+        ]);
321
+
322
+        // $response->throw(function ($response, $e) {
323
+        //   dd($response);
324
+        // });
325
+
326
+        // Aggiorno lo stato del ticket correlato
327
+        $response = Http::acceptJson()->put("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$segnalazioneCorrelata.'.xml', [
328
+          'issue' => [
329
+            'status_id' => $request->segnalazioneCorrelataStatus[$segnalazioneCorrelata],
330
+          ]
331
+        ]);
332
+
333
+        // $response->throw(function ($response, $e) {
334
+        //   dd($response);
335
+        // });
336
+      }
337
+    }
338
+
339
+
340
+    // Session::flash('flash_message', "Issue aggiornato correttamente!");
341
+    $request->session()->put('success_issue_id', $request->issue_id);
342
+    return redirect()->route('issue.success');
343
+  }
344
+
345
+  public function success(Request $request){
346
+    $success_issue_id = session('success_issue_id');
347
+    if($success_issue_id != null){
348
+      $request->session()->forget('success_issue_id');
349
+      return view('issue.success')->with(['issue_id' => $success_issue_id]);
350
+    }else{
351
+      return redirect()->route('home');
352
+    }
269 353
   }
270 354
 }

+ 25
- 10
app/Http/Controllers/LoginController.php Parādīt failu

@@ -5,8 +5,8 @@ namespace App\Http\Controllers;
5 5
 use Illuminate\Http\Request;
6 6
 use Yajra\DataTables\DataTables;
7 7
 use Illuminate\Support\Facades\Http;
8
-// use App\DataTables\ContabilitaDataTableEditor;
9
-// use App\DataTables\ContabilitaDataTable;
8
+use App\Models\Azienda;
9
+use Session;
10 10
 
11 11
 class LoginController extends Controller
12 12
 {
@@ -14,7 +14,7 @@ class LoginController extends Controller
14 14
     $redmineUser = session('redmine_user');
15 15
     if($redmineUser != null){
16 16
       // Tento l'autenticazione
17
-      $response = Http::get(config('app.redmine_url').'/my/account.json', [
17
+      $response = Http::get(session('azienda')->redmine_url.'/my/account.json', [
18 18
         'key' => $redmineUser->api_key
19 19
       ]);
20 20
 
@@ -30,15 +30,30 @@ class LoginController extends Controller
30 30
   }
31 31
 
32 32
   public function login(Request $request){
33
-    $response = Http::get("https://".$request->username.":".$request->password."@".config('app.redmine_url').'/my/account.json');
34
-
35
-    if($response->ok()){
36
-      $request->session()->put('redmine_user', $response->object()->user);
37
-      return redirect('home');
38
-    }else{
39
-      dd($response->body());
33
+    try{
34
+      // cerco azienda
35
+      $azienda = Azienda::find($request->azienda_id);
36
+      $response = Http::get("https://".$request->username.":".$request->password."@".$azienda->redmine_url.'/my/account.json');
37
+
38
+      if($response->ok()){
39
+        $request->session()->put('redmine_user', $response->object()->user);
40
+        $request->session()->put('azienda', $azienda);
41
+        return redirect('home');
42
+      }else{
43
+        Session::flash('status', "Credenziali non valide");
44
+        return redirect('login');
45
+      }
46
+    }catch(\Exception $e){
47
+      Session::flash('status', "Credenziali non valide o Redmine URL non valido");
48
+      return redirect('login');
40 49
     }
41 50
 
42 51
 
52
+
53
+  }
54
+
55
+  public function logout(Request $request){
56
+    $request->session()->forget('redmine_user');
57
+    return redirect('home');
43 58
   }
44 59
 }

+ 2
- 1
app/Http/Middleware/CheckRedmineAuth.php Parādīt failu

@@ -19,8 +19,9 @@ class CheckRedmineAuth
19 19
   {
20 20
     try{
21 21
       $redmineUser = session('redmine_user');
22
+      $azienda = session('azienda');
22 23
       // Tento l'autenticazione
23
-      $response = Http::get(config('app.redmine_url').'/my/account.json', [
24
+      $response = Http::get($azienda->redmine_url.'/my/account.json', [
24 25
         'key' => $redmineUser->api_key
25 26
       ]);
26 27
       if(!$response->ok()){

+ 60
- 0
app/Models/AbstractModels/AbstractAzienda.php Parādīt failu

@@ -0,0 +1,60 @@
1
+<?php
2
+/**
3
+ * Model object generated by: Skipper (http://www.skipper18.com)
4
+ * Do not modify this file manually.
5
+ */
6
+
7
+namespace App\Models\AbstractModels;
8
+
9
+use Illuminate\Database\Eloquent\Model;
10
+
11
+abstract class AbstractAzienda extends Model
12
+{
13
+    /**  
14
+     * The table associated with the model.
15
+     * 
16
+     * @var string
17
+     */
18
+    protected $table = 'azienda';
19
+    
20
+    /**  
21
+     * Primary key type.
22
+     * 
23
+     * @var string
24
+     */
25
+    protected $keyType = 'bigInteger';
26
+    
27
+    /**  
28
+     * The attributes that should be cast to native types.
29
+     * 
30
+     * @var array
31
+     */
32
+    protected $casts = [
33
+        'id' => 'integer',
34
+        'ragione_sociale' => 'string',
35
+        'intestazione' => 'string',
36
+        'is_attivo' => 'boolean',
37
+        'path_logo' => 'string',
38
+        'redmine_url' => 'string',
39
+        'default' => 'boolean',
40
+        'created_at' => 'datetime',
41
+        'updated_at' => 'datetime'
42
+    ];
43
+    
44
+    /**  
45
+     * The attributes that are mass assignable.
46
+     * 
47
+     * @var array
48
+     */
49
+    protected $fillable = [
50
+        'id',
51
+        'ragione_sociale',
52
+        'intestazione',
53
+        'is_attivo',
54
+        'path_logo',
55
+        'redmine_url',
56
+        'default',
57
+        'created_at',
58
+        'updated_at'
59
+    ];
60
+}

+ 6
- 0
app/Models/Azienda.php Parādīt failu

@@ -0,0 +1,6 @@
1
+<?php
2
+namespace App\Models;
3
+
4
+class Azienda extends \App\Models\AbstractModels\AbstractAzienda
5
+{
6
+}

+ 1
- 1
config/app.php Parādīt failu

@@ -123,7 +123,7 @@ return [
123 123
 
124 124
     'cipher' => 'AES-256-CBC',
125 125
 
126
-    'redmine_url' => env('REDMINE_URL'),
126
+    'redmine_url' => env('REDMINE_URL', ''),
127 127
 
128 128
     /*
129 129
     |--------------------------------------------------------------------------

+ 5
- 10
config/filesystems.php Parādīt failu

@@ -47,16 +47,11 @@ return [
47 47
             'url' => env('APP_URL').'/storage/temp',
48 48
             'visibility' => 'public',
49 49
         ],
50
-
51
-        's3' => [
52
-            'driver' => 's3',
53
-            'key' => env('AWS_ACCESS_KEY_ID'),
54
-            'secret' => env('AWS_SECRET_ACCESS_KEY'),
55
-            'region' => env('AWS_DEFAULT_REGION'),
56
-            'bucket' => env('AWS_BUCKET'),
57
-            'url' => env('AWS_URL'),
58
-            'endpoint' => env('AWS_ENDPOINT'),
59
-            'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
50
+        'azienda' => [
51
+            'driver' => 'local',
52
+            'root' => storage_path('app/public/azienda'),
53
+            'url' => env('APP_URL').'/storage/azienda',
54
+            'visibility' => 'public',
60 55
         ],
61 56
 
62 57
     ],

+ 39
- 0
database/migrations/2022_03_11_154913_skipper_migrations_2022031115491329.php Parādīt failu

@@ -0,0 +1,39 @@
1
+<?php
2
+/* 
3
+ * Migrations generated by: Skipper (http://www.skipper18.com)
4
+ * Migration id: 8093c014-b8f7-49c9-bb03-8690e406f22f
5
+ * Migration datetime: 2022-03-11 15:49:13.290506
6
+ */ 
7
+
8
+use Illuminate\Support\Facades\Schema;
9
+use Illuminate\Database\Schema\Blueprint;
10
+use Illuminate\Database\Migrations\Migration;
11
+
12
+class SkipperMigrations2022031115491329 extends Migration
13
+{
14
+    /**
15
+     * Run the migrations.
16
+     *
17
+     * @return void
18
+     */
19
+    public function up()
20
+    {
21
+        Schema::create('azienda', function (Blueprint $table) {
22
+            $table->bigInteger('id')->autoIncrement()->unsigned();
23
+            $table->string('ragione_sociale', 255)->nullable(true);
24
+            $table->text('intestazione')->nullable(true);
25
+            $table->string('path_logo')->nullable(true);
26
+            $table->timestamp('created_at')->nullable(true);
27
+            $table->timestamp('updated_at')->nullable(true);
28
+        });
29
+    }
30
+    /**
31
+     * Reverse the migrations.
32
+     *
33
+     * @return void
34
+     */
35
+    public function down()
36
+    {
37
+        Schema::dropIfExists('azienda');
38
+    }
39
+}

+ 36
- 0
database/migrations/2022_03_11_161942_skipper_migrations_2022031116194269.php Parādīt failu

@@ -0,0 +1,36 @@
1
+<?php
2
+/* 
3
+ * Migrations generated by: Skipper (http://www.skipper18.com)
4
+ * Migration id: c80f335f-b54e-4a01-957c-575c6ecdd597
5
+ * Migration datetime: 2022-03-11 16:19:42.690548
6
+ */ 
7
+
8
+use Illuminate\Support\Facades\Schema;
9
+use Illuminate\Database\Schema\Blueprint;
10
+use Illuminate\Database\Migrations\Migration;
11
+
12
+class SkipperMigrations2022031116194269 extends Migration
13
+{
14
+    /**
15
+     * Run the migrations.
16
+     *
17
+     * @return void
18
+     */
19
+    public function up()
20
+    {
21
+        Schema::table('azienda', function (Blueprint $table) {
22
+            $table->string('redmine_url')->nullable(true)->after('path_logo');
23
+        });
24
+    }
25
+    /**
26
+     * Reverse the migrations.
27
+     *
28
+     * @return void
29
+     */
30
+    public function down()
31
+    {
32
+        Schema::table('azienda', function (Blueprint $table) {
33
+            $table->dropColumn('redmine_url');
34
+        });
35
+    }
36
+}

+ 64
- 0
database/migrations/2022_03_11_165412_skipper_migrations_2022031116541229.php Parādīt failu

@@ -0,0 +1,64 @@
1
+<?php
2
+/* 
3
+ * Migrations generated by: Skipper (http://www.skipper18.com)
4
+ * Migration id: 96874bd5-3799-4630-8c7c-1dc8f1a6f4f3
5
+ * Migration datetime: 2022-03-11 16:54:12.298044
6
+ */ 
7
+
8
+use Illuminate\Support\Facades\Schema;
9
+use Illuminate\Database\Schema\Blueprint;
10
+use Illuminate\Database\Migrations\Migration;
11
+
12
+class SkipperMigrations2022031116541229 extends Migration
13
+{
14
+    /**
15
+     * Run the migrations.
16
+     *
17
+     * @return void
18
+     */
19
+    public function up()
20
+    {
21
+        Schema::table('azienda', function (Blueprint $table) {
22
+            $table->boolean('is_attivo')->nullable(true)->after('intestazione');
23
+        });
24
+        Schema::table('azienda', function (Blueprint $table) {
25
+            $table->boolean('default')->nullable(true)->after('redmine_url');
26
+        });
27
+        /* Reordering of existing columns is not supported by Laravel Eloquent.
28
+        Schema::table('azienda', function (Blueprint $table) {
29
+            $table->moveColumnAfter('created_at', 'default');
30
+        });
31
+        */
32
+        
33
+        /* But you can create your own migrations with following SQL query based on your target SQL engine.
34
+        DB::transaction(function () {
35
+            DB::statement('ALTER TABLE `azienda` MODIFY `created_at` [COLUMN_DEF] AFTER `default`');
36
+        });
37
+        */
38
+    }
39
+    /**
40
+     * Reverse the migrations.
41
+     *
42
+     * @return void
43
+     */
44
+    public function down()
45
+    {
46
+        /* Reordering of existing columns is not supported by Laravel Eloquent.
47
+        Schema::table('azienda', function (Blueprint $table) {
48
+            $table->moveColumnAfter('created_at', 'redmine_url');
49
+        });
50
+        */
51
+        
52
+        /* But you can create your own migrations with following SQL query based on your target SQL engine.
53
+        DB::transaction(function () {
54
+            DB::statement('ALTER TABLE `azienda` MODIFY `created_at` [COLUMN_DEF] AFTER `redmine_url`');
55
+        });
56
+        */
57
+        Schema::table('azienda', function (Blueprint $table) {
58
+            $table->dropColumn('default');
59
+        });
60
+        Schema::table('azienda', function (Blueprint $table) {
61
+            $table->dropColumn('is_attivo');
62
+        });
63
+    }
64
+}

Binārs
public/assets/logo.png Parādīt failu


Binārs
public/assets/logo_rm.png Parādīt failu


+ 58
- 0
resources/views/azienda/index.blade.php Parādīt failu

@@ -0,0 +1,58 @@
1
+<style>
2
+</style>
3
+
4
+<x-app-layout>
5
+  <x-slot name="header">
6
+    <h2 class="font-semibold text-xl text-gray-800 leading-tight">
7
+      <i class="fas fa-ticket-alt"></i> Aziende
8
+    </h2>
9
+  </x-slot>
10
+
11
+  <div class="row justify-content-center mb-4">
12
+    <div class="col-xl-10 col-lg-10">
13
+      <div class="card">
14
+        <div class="card-body">
15
+
16
+          {{ $dataTable_azienda->table() }}
17
+
18
+          {{ $dataTable_azienda->scripts() }}
19
+
20
+
21
+
22
+        </div>
23
+      </div>
24
+    </div>
25
+  </div>
26
+
27
+</x-app-layout>
28
+
29
+<script>
30
+$(document).ready(function(){
31
+  $.ajaxSetup({
32
+    headers: {
33
+      'X-CSRF-TOKEN': '{{csrf_token()}}'
34
+    }
35
+  });
36
+
37
+  $("#dataTable_azienda").attr('width', '100%');
38
+
39
+  // Editor edit
40
+  $("#dataTable_azienda").on('click', 'a#editor_edit', function (e) {
41
+    e.preventDefault();
42
+    window.LaravelDataTables["dataTable_azienda-editor"].edit( $(this).closest('tr'), {
43
+      title: 'Modifica',
44
+      buttons: 'Aggiorna'
45
+    });
46
+  });
47
+
48
+  // Editor delete
49
+  $("#dataTable_ddt").on('click', 'a#editor_delete', function (e) {
50
+    e.preventDefault();
51
+    window.LaravelDataTables["dataTable_azienda-editor"].remove( $(this).closest('tr'), {
52
+      title: 'Cancella record',
53
+      message: 'Sei sicuro di voler eliminare il record selezionato?',
54
+      buttons: 'Cancella record'
55
+    } );
56
+  } );
57
+});
58
+</script>

+ 13
- 0
resources/views/azienda/menu.blade.php Parādīt failu

@@ -0,0 +1,13 @@
1
+<?php
2
+use App\Models\Config;
3
+?>
4
+<div class="dropdown">
5
+  <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
6
+    <i class="fas fa-bars"></i>
7
+  </a>
8
+
9
+  <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
10
+    <a class="dropdown-item" href="#" id='editor_edit'><i class='fas fa-pen'></i>Modifica</a>
11
+    <a class="dropdown-item" href="#" id='editor_delete'><i class='fas fa-trash'></i>Elimina</a>
12
+  </div>
13
+</div>

+ 5
- 1
resources/views/components/application-logo.blade.php Parādīt failu

@@ -1 +1,5 @@
1
-<img src="{{ asset('assets/logo.png') }}" {{ $attributes }}/>
1
+@if(session('azienda') != null && session('azienda')->path_logo != null)
2
+<img src="{{ Storage::disk('azienda')->url(session('azienda')->path_logo) }}" {{ $attributes }}/>
3
+@else
4
+<img src="{{ assets('logo_rm.png') }}" {{ $attributes }}/>
5
+@endif

+ 38
- 3
resources/views/issue/firma.blade.php Parādīt failu

@@ -37,7 +37,7 @@ use Carbon\Carbon;
37 37
 <x-app-layout>
38 38
   <x-slot name="header">
39 39
     <h2 class="font-semibold text-xl text-gray-800 leading-tight">
40
-      <i class="fas fa-home"></i> Firma rapporto d'intervento
40
+      <i class="fas fa-home"></i> Firma rapporto d'intervento issue #{{ $issue->id}}
41 41
     </h2>
42 42
   </x-slot>
43 43
 
@@ -83,7 +83,7 @@ use Carbon\Carbon;
83 83
 
84 84
             <div class="form-group col-md">
85 85
               {!! Form::label('ora_fine', 'Fine') !!}
86
-              {!! Form::text('ora_fine', Carbon::now()->format('H:i'), ['class' => 'form-control']) !!}
86
+              {!! Form::text('ora_fine', Carbon::now()->addMinutes(15)->format('H:i'), ['class' => 'form-control']) !!}
87 87
             </div>
88 88
           </div>
89 89
 
@@ -132,6 +132,41 @@ use Carbon\Carbon;
132 132
     </div>
133 133
   </div>
134 134
 
135
+  @if($altreSegnalazioni->count() > 0)
136
+  <div class="row justify-content-center" style="margin-top: 20px;">
137
+    <div class="col-xl-10 col-lg-12 col-md px-md-3 px-2">
138
+      <div class="card">
139
+        <div class="card-header"><i class="fas fa-link"></i> Segnalazioni correlate</div>
140
+        <div class="card-body">
141
+          <table class="table">
142
+            <thead>
143
+              <tr>
144
+                <th></th>
145
+                <th>ID</th>
146
+                <th>Segnalazione</th>
147
+                <th>Stato</th>
148
+              </tr>
149
+            </thead>
150
+
151
+            @foreach($altreSegnalazioni as $segnalazione)
152
+            @if($segnalazione->id == $issue->id)
153
+            @continue
154
+            @endif
155
+            <tr>
156
+              <td>{!! Form::checkbox('segnalazioneCorrelata[]', $segnalazione->id, false) !!}</td>
157
+              <td>{{ $segnalazione->id }}</td>
158
+              <td>{{ $segnalazione->subject }}</td>
159
+              <td>{!! Form::select('segnalazioneCorrelataStatus['.$segnalazione->id.']', $issueStatus, $segnalazione->status->id, ['class' => 'form-control']) !!}</td>
160
+            </tr>
161
+            @endforeach
162
+
163
+          </table>
164
+        </div>
165
+      </div>
166
+    </div>
167
+  </div>
168
+  @endif
169
+
135 170
   <div class="row justify-content-center" style="margin-top: 20px;" id="div_allegati_ext">
136 171
     <div class="col-xl-10 col-lg-12 col-md px-md-3 px-2">
137 172
       <div class="card">
@@ -146,7 +181,7 @@ use Carbon\Carbon;
146 181
                 <div id="div_{{$time}}"><i class="fas fa-cloud-upload-alt"></i> Aggiungi allegato</div>
147 182
                 <span id="span_{{$time}}"></span>
148 183
               </label>
149
-            </div>            
184
+            </div>
150 185
           </div>
151 186
         </div>
152 187
       </div>

+ 5
- 1
resources/views/issue/pdf.blade.php Parādīt failu

@@ -16,9 +16,11 @@
16 16
           <h3 style="display: inline; ">n. {{ $issue->id }} del {{ $dataIntervento->format('d/m/Y') }}</h3>
17 17
         </div>
18 18
         <div class="box_dx">
19
-          <h3>Cliente</h3>
19
+          <h3 style="font-weight: bold;">Cliente</h3>
20 20
           {{ $cliente }}<br>
21
+          @if($persona_riferimento != null && $persona_riferimento != '')
21 22
           Persona di riferimento: {{ $persona_riferimento }}
23
+          @endif
22 24
         </div>
23 25
       </div>
24 26
 
@@ -27,10 +29,12 @@
27 29
         {!! $note !!}
28 30
       </div>
29 31
 
32
+      @if($materiale_utilizzato != '' && $materiale_utilizzato != null)
30 33
       <div style="width: 100%">
31 34
         <h2>Materiale utilizzato</h2>
32 35
         {!! $materiale_utilizzato !!}
33 36
       </div>
37
+      @endif
34 38
 
35 39
       <div style="width: 100%">
36 40
         <h2>Merce ritirata</h2>

+ 1
- 1
resources/views/issue/show.blade.php Parādīt failu

@@ -4,7 +4,7 @@
4 4
 <x-app-layout>
5 5
   <x-slot name="header">
6 6
     <h2 class="font-semibold text-xl text-gray-800 leading-tight">
7
-      <i class="fas fa-home"></i> Issues
7
+      <i class="fas fa-home"></i> Issue #{{ $issue->id }}
8 8
     </h2>
9 9
   </x-slot>
10 10
 

+ 23
- 0
resources/views/issue/success.blade.php Parādīt failu

@@ -0,0 +1,23 @@
1
+<style>
2
+</style>
3
+
4
+<x-app-layout>
5
+  <x-slot name="header">
6
+    <h2 class="font-semibold text-xl text-gray-800 leading-tight">
7
+      <i class="fas fa-home"></i> Issue #{{ $issue_id }}
8
+    </h2>
9
+  </x-slot>
10
+
11
+  <div class="row justify-content-center mb-4">
12
+    <div class="col-xl-6 col-lg-6">
13
+      <div class="card">
14
+        <div class="card-body" style="text-align: center">
15
+          <h2 style="text-align: center">Issue #{{ $issue_id }} aggiornato correttamente</h2><br>
16
+          <a href="{{ Storage::disk('temp')->url('issue_'.$issue_id.'.pdf') }}" class="btn btn-primary">Scarica rapporto firmato</a><br><br>
17
+          <a href="{{ route('issue.index') }}" class="btn btn-primary">Torna alla lista degli issue</a>
18
+        </div>
19
+      </div>
20
+    </div>
21
+  </div>
22
+
23
+</x-app-layout>

+ 36
- 2
resources/views/layouts/navigation.blade.php Parādīt failu

@@ -5,7 +5,7 @@
5 5
       <div class="flex">
6 6
         <!-- Logo -->
7 7
         <div class="flex-shrink-0 flex items-center">
8
-          <a href="{{ route('login') }}">
8
+          <a href="{{ route('home') }}">
9 9
             <x-application-logo class="block h-10 w-auto fill-current text-gray-600" />
10 10
           </a>
11 11
         </div>
@@ -20,10 +20,44 @@
20 20
             <i class="fas fa-ticket-alt"></i> Issues
21 21
           </x-nav-link>
22 22
 
23
+          <x-nav-link :href="route('azienda.index')" :active="request()->routeIs('azienda.index')">
24
+            <i class="fas fa-ticket-alt"></i> Aziende
25
+          </x-nav-link>
26
+
23 27
 
24 28
         </div>
25 29
       </div>
26 30
 
31
+      <!-- Settings Dropdown -->
32
+      <div class="hidden sm:flex sm:items-center sm:ml-6">
33
+        <x-dropdown align="right" width="48">
34
+          <x-slot name="trigger">
35
+            <button class="flex items-center text-sm font-medium text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out">
36
+              <div>{{ session('redmine_user')->firstname }} {{ session('redmine_user')->lastname }}</div>
37
+
38
+              <div class="ml-1">
39
+                <svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
40
+                  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
41
+                </svg>
42
+              </div>
43
+            </button>
44
+          </x-slot>
45
+
46
+          <x-slot name="content">
47
+            <!-- Authentication -->
48
+            <form method="POST" action="{{ route('logout') }}">
49
+              @csrf
50
+
51
+              <x-dropdown-link :href="route('logout')"
52
+              onclick="event.preventDefault();
53
+              this.closest('form').submit();">
54
+              {{ __('Logout') }}
55
+            </x-dropdown-link>
56
+          </form>
57
+        </x-slot>
58
+      </x-dropdown>
59
+    </div>
60
+
27 61
 
28 62
 
29 63
     <!-- Hamburger -->
@@ -62,7 +96,7 @@
62 96
     </div>
63 97
 
64 98
     <div class="mt-3 space-y-1">
99
+    </div>
65 100
   </div>
66 101
 </div>
67
-</div>
68 102
 </nav>

+ 6
- 1
resources/views/login/index.blade.php Parādīt failu

@@ -29,8 +29,13 @@
29 29
                 <input class="form-control form-control-solid" type="password" name="password" />
30 30
               </div>
31 31
 
32
+              <div class="form-group">
33
+                <label class="text-gray-600" for="telefono">Azienda</label>
34
+                {!! Form::select('azienda_id', \App\Models\Azienda::where('is_attivo', true)->orderBy('default', 'DESC')->orderBy('ragione_sociale', 'ASC')->pluck('ragione_sociale', 'id'), null, ['class' => 'form-control form-control-solid']) !!}
35
+              </div>
36
+
32 37
               <!-- Form Group (login box)-->
33
-              <div class="form-group d-flex align-items-center justify-content-between mb-0">                
38
+              <div class="form-group d-flex align-items-center justify-content-between mb-0">
34 39
                 <button type="submit" class="btn btn-primary">Login</button>
35 40
               </div>
36 41
             </form>

+ 10
- 3
resources/views/testata_pdf.blade.php Parādīt failu

@@ -11,7 +11,7 @@
11 11
     font-weight: 400;
12 12
   }
13 13
   p, h1, h2, h3{
14
-      margin: 2px;
14
+    margin: 2px;
15 15
   }
16 16
 
17 17
   b{
@@ -93,10 +93,17 @@
93 93
 
94 94
 <div style="width: 100%; padding-top: 0px; height: 100px; margin-bottom: 15px;" >
95 95
   <div style="width: 40%; float: left;">
96
-    <img src="{{ public_path('assets/logo.png') }}" style="height: 100%"/>
96
+    @if(session('azienda') != null && session('azienda')->path_logo != null)
97
+    <img src="{{ Storage::disk('azienda')->url(session('azienda')->path_logo) }}" style="height: 100%"/>
98
+    @else
99
+    <img src="{{ assets('logo_rm.png') }}" style="height: 100%"/>
100
+    @endif
101
+
97 102
   </div>
98 103
 
99 104
   <div style="width: 58%; float: left; text-align: right; font-size: 12px;">
100
-    Intestazione
105
+    @if(session('azienda') != null && session('azienda')->intestazione != null)
106
+    {!! session('azienda')->intestazione !!}
107
+    @endif
101 108
   </div>
102 109
 </div>

+ 123
- 127
resources/views/welcome.blade.php Parādīt failu

@@ -1,132 +1,128 @@
1 1
 <!DOCTYPE html>
2 2
 <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
3
-    <head>
4
-        <meta charset="utf-8">
5
-        <meta name="viewport" content="width=device-width, initial-scale=1">
6
-
7
-        <title>Laravel</title>
8
-
9
-        <!-- Fonts -->
10
-        <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
11
-
12
-        <!-- Styles -->
13
-        <style>
14
-            /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.dark\:text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--tw-text-opacity))}}
15
-        </style>
16
-
17
-        <style>
18
-            body {
19
-                font-family: 'Nunito', sans-serif;
20
-            }
21
-        </style>
22
-    </head>
23
-    <body class="antialiased">
24
-        <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
25
-            @if (Route::has('login'))
26
-                <div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
27
-                    @auth
28
-                        <a href="{{ url('/home') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Home</a>
29
-                    @else
30
-                        <a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a>
31
-
32
-                        @if (Route::has('register'))
33
-                            <a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a>
34
-                        @endif
35
-                    @endauth
36
-                </div>
37
-            @endif
38
-
39
-            <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
40
-                <div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
41
-                    <svg viewBox="0 0 651 192" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-16 w-auto text-gray-700 sm:h-20">
42
-                        <g clip-path="url(#clip0)" fill="#EF3B2D">
43
-                            <path d="M248.032 44.676h-16.466v100.23h47.394v-14.748h-30.928V44.676zM337.091 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.431 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162-.001 2.863-.479 5.584-1.432 8.161zM463.954 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.432 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162 0 2.863-.479 5.584-1.432 8.161zM650.772 44.676h-15.606v100.23h15.606V44.676zM365.013 144.906h15.607V93.538h26.776V78.182h-42.383v66.724zM542.133 78.182l-19.616 51.096-19.616-51.096h-15.808l25.617 66.724h19.614l25.617-66.724h-15.808zM591.98 76.466c-19.112 0-34.239 15.706-34.239 35.079 0 21.416 14.641 35.079 36.239 35.079 12.088 0 19.806-4.622 29.234-14.688l-10.544-8.158c-.006.008-7.958 10.449-19.832 10.449-13.802 0-19.612-11.127-19.612-16.884h51.777c2.72-22.043-11.772-40.877-33.023-40.877zm-18.713 29.28c.12-1.284 1.917-16.884 18.589-16.884 16.671 0 18.697 15.598 18.813 16.884h-37.402zM184.068 43.892c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002-35.648-20.524a2.971 2.971 0 00-2.964 0l-35.647 20.522-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v38.979l-29.706 17.103V24.493a3 3 0 00-.103-.776c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002L40.098 1.396a2.971 2.971 0 00-2.964 0L1.487 21.919l-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v122.09c0 1.063.568 2.044 1.489 2.575l71.293 41.045c.156.089.324.143.49.202.078.028.15.074.23.095a2.98 2.98 0 001.524 0c.069-.018.132-.059.2-.083.176-.061.354-.119.519-.214l71.293-41.045a2.971 2.971 0 001.489-2.575v-38.979l34.158-19.666a2.971 2.971 0 001.489-2.575V44.666a3.075 3.075 0 00-.106-.774zM74.255 143.167l-29.648-16.779 31.136-17.926.001-.001 34.164-19.669 29.674 17.084-21.772 12.428-43.555 24.863zm68.329-76.259v33.841l-12.475-7.182-17.231-9.92V49.806l12.475 7.182 17.231 9.92zm2.97-39.335l29.693 17.095-29.693 17.095-29.693-17.095 29.693-17.095zM54.06 114.089l-12.475 7.182V46.733l17.231-9.92 12.475-7.182v74.537l-17.231 9.921zM38.614 7.398l29.693 17.095-29.693 17.095L8.921 24.493 38.614 7.398zM5.938 29.632l12.475 7.182 17.231 9.92v79.676l.001.005-.001.006c0 .114.032.221.045.333.017.146.021.294.059.434l.002.007c.032.117.094.222.14.334.051.124.088.255.156.371a.036.036 0 00.004.009c.061.105.149.191.222.288.081.105.149.22.244.314l.008.01c.084.083.19.142.284.215.106.083.202.178.32.247l.013.005.011.008 34.139 19.321v34.175L5.939 144.867V29.632h-.001zm136.646 115.235l-65.352 37.625V148.31l48.399-27.628 16.953-9.677v33.862zm35.646-61.22l-29.706 17.102V66.908l17.231-9.92 12.475-7.182v33.841z"/>
44
-                        </g>
45
-                    </svg>
46
-                </div>
47
-
48
-                <div class="mt-8 bg-white dark:bg-gray-800 overflow-hidden shadow sm:rounded-lg">
49
-                    <div class="grid grid-cols-1 md:grid-cols-2">
50
-                        <div class="p-6">
51
-                            <div class="flex items-center">
52
-                                <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"></path></svg>
53
-                                <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel.com/docs" class="underline text-gray-900 dark:text-white">Documentation</a></div>
54
-                            </div>
55
-
56
-                            <div class="ml-12">
57
-                                <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
58
-                                    Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.
59
-                                </div>
60
-                            </div>
61
-                        </div>
62
-
63
-                        <div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-t-0 md:border-l">
64
-                            <div class="flex items-center">
65
-                                <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"></path><path d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"></path></svg>
66
-                                <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laracasts.com" class="underline text-gray-900 dark:text-white">Laracasts</a></div>
67
-                            </div>
68
-
69
-                            <div class="ml-12">
70
-                                <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
71
-                                    Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
72
-                                </div>
73
-                            </div>
74
-                        </div>
75
-
76
-                        <div class="p-6 border-t border-gray-200 dark:border-gray-700">
77
-                            <div class="flex items-center">
78
-                                <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
79
-                                <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel-news.com/" class="underline text-gray-900 dark:text-white">Laravel News</a></div>
80
-                            </div>
81
-
82
-                            <div class="ml-12">
83
-                                <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
84
-                                    Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.
85
-                                </div>
86
-                            </div>
87
-                        </div>
88
-
89
-                        <div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-l">
90
-                            <div class="flex items-center">
91
-                                <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
92
-                                <div class="ml-4 text-lg leading-7 font-semibold text-gray-900 dark:text-white">Vibrant Ecosystem</div>
93
-                            </div>
94
-
95
-                            <div class="ml-12">
96
-                                <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
97
-                                    Laravel's robust library of first-party tools and libraries, such as <a href="https://forge.laravel.com" class="underline">Forge</a>, <a href="https://vapor.laravel.com" class="underline">Vapor</a>, <a href="https://nova.laravel.com" class="underline">Nova</a>, and <a href="https://envoyer.io" class="underline">Envoyer</a> help you take your projects to the next level. Pair them with powerful open source libraries like <a href="https://laravel.com/docs/billing" class="underline">Cashier</a>, <a href="https://laravel.com/docs/dusk" class="underline">Dusk</a>, <a href="https://laravel.com/docs/broadcasting" class="underline">Echo</a>, <a href="https://laravel.com/docs/horizon" class="underline">Horizon</a>, <a href="https://laravel.com/docs/sanctum" class="underline">Sanctum</a>, <a href="https://laravel.com/docs/telescope" class="underline">Telescope</a>, and more.
98
-                                </div>
99
-                            </div>
100
-                        </div>
101
-                    </div>
102
-                </div>
103
-
104
-                <div class="flex justify-center mt-4 sm:items-center sm:justify-between">
105
-                    <div class="text-center text-sm text-gray-500 sm:text-left">
106
-                        <div class="flex items-center">
107
-                            <svg fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" stroke="currentColor" class="-mt-px w-5 h-5 text-gray-400">
108
-                                <path d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
109
-                            </svg>
110
-
111
-                            <a href="https://laravel.bigcartel.com" class="ml-1 underline">
112
-                                Shop
113
-                            </a>
114
-
115
-                            <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="ml-4 -mt-px w-5 h-5 text-gray-400">
116
-                                <path d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
117
-                            </svg>
118
-
119
-                            <a href="https://github.com/sponsors/taylorotwell" class="ml-1 underline">
120
-                                Sponsor
121
-                            </a>
122
-                        </div>
123
-                    </div>
124
-
125
-                    <div class="ml-4 text-center text-sm text-gray-500 sm:text-right sm:ml-0">
126
-                        Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})
127
-                    </div>
128
-                </div>
3
+<head>
4
+  <meta charset="utf-8">
5
+  <meta name="viewport" content="width=device-width, initial-scale=1">
6
+
7
+  <title>Laravel</title>
8
+
9
+  <!-- Fonts -->
10
+  <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
11
+
12
+  <!-- Styles -->
13
+  <style>
14
+  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.dark\:text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--tw-text-opacity))}}
15
+  </style>
16
+
17
+  <style>
18
+  body {
19
+    font-family: 'Nunito', sans-serif;
20
+  }
21
+  </style>
22
+</head>
23
+<body class="antialiased">
24
+  <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
25
+    @if (Route::has('login'))
26
+    <div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
27
+      @auth
28
+      <a href="{{ url('/home') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Home</a>
29
+      @else
30
+      <a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a>
31
+
32
+      @if (Route::has('register'))
33
+      <a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a>
34
+      @endif
35
+      @endauth
36
+    </div>
37
+    @endif
38
+
39
+    <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
40
+      <div class="flex justify-center pt-8 sm:justify-start sm:pt-0" style="color: #DC143C">
41
+        <h1>Rapportino Redmine</h1>
42
+      </div>
43
+
44
+      <div class="mt-8 bg-white dark:bg-gray-800 overflow-hidden shadow sm:rounded-lg">
45
+        <!-- <div class="grid grid-cols-1 md:grid-cols-2">
46
+          <div class="p-6">
47
+            <div class="flex items-center">
48
+              <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"></path></svg>
49
+              <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel.com/docs" class="underline text-gray-900 dark:text-white">Documentation</a></div>
129 50
             </div>
51
+
52
+            <div class="ml-12">
53
+              <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
54
+                Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.
55
+              </div>
56
+            </div>
57
+          </div>
58
+
59
+          <div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-t-0 md:border-l">
60
+            <div class="flex items-center">
61
+              <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"></path><path d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"></path></svg>
62
+              <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laracasts.com" class="underline text-gray-900 dark:text-white">Laracasts</a></div>
63
+            </div>
64
+
65
+            <div class="ml-12">
66
+              <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
67
+                Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
68
+              </div>
69
+            </div>
70
+          </div>
71
+
72
+          <div class="p-6 border-t border-gray-200 dark:border-gray-700">
73
+            <div class="flex items-center">
74
+              <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
75
+              <div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel-news.com/" class="underline text-gray-900 dark:text-white">Laravel News</a></div>
76
+            </div>
77
+
78
+            <div class="ml-12">
79
+              <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
80
+                Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.
81
+              </div>
82
+            </div>
83
+          </div>
84
+
85
+          <div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-l">
86
+            <div class="flex items-center">
87
+              <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
88
+              <div class="ml-4 text-lg leading-7 font-semibold text-gray-900 dark:text-white">Vibrant Ecosystem</div>
89
+            </div>
90
+
91
+            <div class="ml-12">
92
+              <div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
93
+                Laravel's robust library of first-party tools and libraries, such as <a href="https://forge.laravel.com" class="underline">Forge</a>, <a href="https://vapor.laravel.com" class="underline">Vapor</a>, <a href="https://nova.laravel.com" class="underline">Nova</a>, and <a href="https://envoyer.io" class="underline">Envoyer</a> help you take your projects to the next level. Pair them with powerful open source libraries like <a href="https://laravel.com/docs/billing" class="underline">Cashier</a>, <a href="https://laravel.com/docs/dusk" class="underline">Dusk</a>, <a href="https://laravel.com/docs/broadcasting" class="underline">Echo</a>, <a href="https://laravel.com/docs/horizon" class="underline">Horizon</a>, <a href="https://laravel.com/docs/sanctum" class="underline">Sanctum</a>, <a href="https://laravel.com/docs/telescope" class="underline">Telescope</a>, and more.
94
+              </div>
95
+            </div>
96
+          </div>
97
+        </div> -->
98
+      </div>
99
+
100
+      <!-- <div class="flex justify-center mt-4 sm:items-center sm:justify-between">
101
+        <div class="text-center text-sm text-gray-500 sm:text-left">
102
+          <div class="flex items-center">
103
+            <svg fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" stroke="currentColor" class="-mt-px w-5 h-5 text-gray-400">
104
+              <path d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
105
+            </svg>
106
+
107
+            <a href="https://laravel.bigcartel.com" class="ml-1 underline">
108
+              Shop
109
+            </a>
110
+
111
+            <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="ml-4 -mt-px w-5 h-5 text-gray-400">
112
+              <path d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
113
+            </svg>
114
+
115
+            <a href="https://github.com/sponsors/taylorotwell" class="ml-1 underline">
116
+              Sponsor
117
+            </a>
118
+          </div>
119
+        </div>
120
+
121
+        <div class="ml-4 text-center text-sm text-gray-500 sm:text-right sm:ml-0">
122
+          Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})
130 123
         </div>
131
-    </body>
124
+      </div> -->
125
+    </div>
126
+  </div>
127
+</body>
132 128
 </html>

+ 5
- 0
routes/web.php Parādīt failu

@@ -4,6 +4,7 @@ use Illuminate\Support\Facades\Route;
4 4
 use App\Http\Controllers\LoginController;
5 5
 use App\Http\Controllers\HomeController;
6 6
 use App\Http\Controllers\IssueController;
7
+use App\Http\Controllers\AziendaController;
7 8
 
8 9
 /*
9 10
 |--------------------------------------------------------------------------
@@ -23,6 +24,7 @@ Route::get('/', function () {
23 24
 
24 25
 Route::get('login', [LoginController::class, 'index'])->name('login');
25 26
 Route::post('login', [LoginController::class, 'login'])->name('login');
27
+Route::post('logout', [LoginController::class, 'logout'])->name('logout');
26 28
 
27 29
 
28 30
 Route::middleware(['redmine_auth'])->group(function () {
@@ -31,4 +33,7 @@ Route::middleware(['redmine_auth'])->group(function () {
31 33
   Route::get('issue/{id?}/show', [IssueController::class, 'show'])->name('issue.show');
32 34
   Route::get('issue/{id}/firma', [IssueController::class, 'firma'])->name('issue.firma');
33 35
   Route::post('issue/firma_rapporto', [IssueController::class, 'firma_rapporto'])->name('issue.firma_rapporto');
36
+  Route::get('issue/success', [IssueController::class, 'success'])->name('issue.success');
37
+
38
+  Route::resource('azienda', AziendaController::class, ['only' => ['index', 'store']]);
34 39
 });

+ 572
- 0
storage/fonts/Times-Bold.afm.php Parādīt failu

@@ -0,0 +1,572 @@
1
+<?php return array (
2
+  'codeToName' => 
3
+  array (
4
+    32 => 'space',
5
+    160 => 'space',
6
+    33 => 'exclam',
7
+    34 => 'quotedbl',
8
+    35 => 'numbersign',
9
+    36 => 'dollar',
10
+    37 => 'percent',
11
+    38 => 'ampersand',
12
+    146 => 'quoteright',
13
+    40 => 'parenleft',
14
+    41 => 'parenright',
15
+    42 => 'asterisk',
16
+    43 => 'plus',
17
+    44 => 'comma',
18
+    45 => 'hyphen',
19
+    173 => 'hyphen',
20
+    46 => 'period',
21
+    47 => 'slash',
22
+    48 => 'zero',
23
+    49 => 'one',
24
+    50 => 'two',
25
+    51 => 'three',
26
+    52 => 'four',
27
+    53 => 'five',
28
+    54 => 'six',
29
+    55 => 'seven',
30
+    56 => 'eight',
31
+    57 => 'nine',
32
+    58 => 'colon',
33
+    59 => 'semicolon',
34
+    60 => 'less',
35
+    61 => 'equal',
36
+    62 => 'greater',
37
+    63 => 'question',
38
+    64 => 'at',
39
+    65 => 'A',
40
+    66 => 'B',
41
+    67 => 'C',
42
+    68 => 'D',
43
+    69 => 'E',
44
+    70 => 'F',
45
+    71 => 'G',
46
+    72 => 'H',
47
+    73 => 'I',
48
+    74 => 'J',
49
+    75 => 'K',
50
+    76 => 'L',
51
+    77 => 'M',
52
+    78 => 'N',
53
+    79 => 'O',
54
+    80 => 'P',
55
+    81 => 'Q',
56
+    82 => 'R',
57
+    83 => 'S',
58
+    84 => 'T',
59
+    85 => 'U',
60
+    86 => 'V',
61
+    87 => 'W',
62
+    88 => 'X',
63
+    89 => 'Y',
64
+    90 => 'Z',
65
+    91 => 'bracketleft',
66
+    92 => 'backslash',
67
+    93 => 'bracketright',
68
+    94 => 'asciicircum',
69
+    95 => 'underscore',
70
+    145 => 'quoteleft',
71
+    97 => 'a',
72
+    98 => 'b',
73
+    99 => 'c',
74
+    100 => 'd',
75
+    101 => 'e',
76
+    102 => 'f',
77
+    103 => 'g',
78
+    104 => 'h',
79
+    105 => 'i',
80
+    106 => 'j',
81
+    107 => 'k',
82
+    108 => 'l',
83
+    109 => 'm',
84
+    110 => 'n',
85
+    111 => 'o',
86
+    112 => 'p',
87
+    113 => 'q',
88
+    114 => 'r',
89
+    115 => 's',
90
+    116 => 't',
91
+    117 => 'u',
92
+    118 => 'v',
93
+    119 => 'w',
94
+    120 => 'x',
95
+    121 => 'y',
96
+    122 => 'z',
97
+    123 => 'braceleft',
98
+    124 => 'bar',
99
+    125 => 'braceright',
100
+    126 => 'asciitilde',
101
+    161 => 'exclamdown',
102
+    162 => 'cent',
103
+    163 => 'sterling',
104
+    165 => 'yen',
105
+    131 => 'florin',
106
+    167 => 'section',
107
+    164 => 'currency',
108
+    39 => 'quotesingle',
109
+    147 => 'quotedblleft',
110
+    171 => 'guillemotleft',
111
+    139 => 'guilsinglleft',
112
+    155 => 'guilsinglright',
113
+    150 => 'endash',
114
+    134 => 'dagger',
115
+    135 => 'daggerdbl',
116
+    183 => 'periodcentered',
117
+    182 => 'paragraph',
118
+    149 => 'bullet',
119
+    130 => 'quotesinglbase',
120
+    132 => 'quotedblbase',
121
+    148 => 'quotedblright',
122
+    187 => 'guillemotright',
123
+    133 => 'ellipsis',
124
+    137 => 'perthousand',
125
+    191 => 'questiondown',
126
+    96 => 'grave',
127
+    180 => 'acute',
128
+    136 => 'circumflex',
129
+    152 => 'tilde',
130
+    175 => 'macron',
131
+    168 => 'dieresis',
132
+    184 => 'cedilla',
133
+    151 => 'emdash',
134
+    198 => 'AE',
135
+    170 => 'ordfeminine',
136
+    216 => 'Oslash',
137
+    140 => 'OE',
138
+    186 => 'ordmasculine',
139
+    230 => 'ae',
140
+    248 => 'oslash',
141
+    156 => 'oe',
142
+    223 => 'germandbls',
143
+    207 => 'Idieresis',
144
+    233 => 'eacute',
145
+    159 => 'Ydieresis',
146
+    247 => 'divide',
147
+    221 => 'Yacute',
148
+    194 => 'Acircumflex',
149
+    225 => 'aacute',
150
+    219 => 'Ucircumflex',
151
+    253 => 'yacute',
152
+    234 => 'ecircumflex',
153
+    220 => 'Udieresis',
154
+    218 => 'Uacute',
155
+    203 => 'Edieresis',
156
+    169 => 'copyright',
157
+    229 => 'aring',
158
+    224 => 'agrave',
159
+    227 => 'atilde',
160
+    154 => 'scaron',
161
+    237 => 'iacute',
162
+    251 => 'ucircumflex',
163
+    226 => 'acircumflex',
164
+    231 => 'ccedilla',
165
+    222 => 'Thorn',
166
+    179 => 'threesuperior',
167
+    210 => 'Ograve',
168
+    192 => 'Agrave',
169
+    215 => 'multiply',
170
+    250 => 'uacute',
171
+    255 => 'ydieresis',
172
+    238 => 'icircumflex',
173
+    202 => 'Ecircumflex',
174
+    228 => 'adieresis',
175
+    235 => 'edieresis',
176
+    205 => 'Iacute',
177
+    177 => 'plusminus',
178
+    166 => 'brokenbar',
179
+    174 => 'registered',
180
+    200 => 'Egrave',
181
+    142 => 'Zcaron',
182
+    208 => 'Eth',
183
+    199 => 'Ccedilla',
184
+    193 => 'Aacute',
185
+    196 => 'Adieresis',
186
+    232 => 'egrave',
187
+    211 => 'Oacute',
188
+    243 => 'oacute',
189
+    239 => 'idieresis',
190
+    212 => 'Ocircumflex',
191
+    217 => 'Ugrave',
192
+    254 => 'thorn',
193
+    178 => 'twosuperior',
194
+    214 => 'Odieresis',
195
+    181 => 'mu',
196
+    236 => 'igrave',
197
+    190 => 'threequarters',
198
+    153 => 'trademark',
199
+    204 => 'Igrave',
200
+    189 => 'onehalf',
201
+    244 => 'ocircumflex',
202
+    241 => 'ntilde',
203
+    201 => 'Eacute',
204
+    188 => 'onequarter',
205
+    138 => 'Scaron',
206
+    176 => 'degree',
207
+    242 => 'ograve',
208
+    249 => 'ugrave',
209
+    209 => 'Ntilde',
210
+    245 => 'otilde',
211
+    195 => 'Atilde',
212
+    197 => 'Aring',
213
+    213 => 'Otilde',
214
+    206 => 'Icircumflex',
215
+    172 => 'logicalnot',
216
+    246 => 'odieresis',
217
+    252 => 'udieresis',
218
+    240 => 'eth',
219
+    158 => 'zcaron',
220
+    185 => 'onesuperior',
221
+    128 => 'Euro',
222
+  ),
223
+  'isUnicode' => false,
224
+  'FontName' => 'Times-Bold',
225
+  'FullName' => 'Times Bold',
226
+  'FamilyName' => 'Times',
227
+  'Weight' => 'Bold',
228
+  'ItalicAngle' => '0',
229
+  'IsFixedPitch' => 'false',
230
+  'CharacterSet' => 'ExtendedRoman',
231
+  'FontBBox' => 
232
+  array (
233
+    0 => '-168',
234
+    1 => '-218',
235
+    2 => '1000',
236
+    3 => '935',
237
+  ),
238
+  'UnderlinePosition' => '-100',
239
+  'UnderlineThickness' => '50',
240
+  'Version' => '002.000',
241
+  'EncodingScheme' => 'WinAnsiEncoding',
242
+  'CapHeight' => '676',
243
+  'XHeight' => '461',
244
+  'Ascender' => '683',
245
+  'Descender' => '-217',
246
+  'StdHW' => '44',
247
+  'StdVW' => '139',
248
+  'StartCharMetrics' => '317',
249
+  'C' => 
250
+  array (
251
+    32 => 250.0,
252
+    160 => 250.0,
253
+    33 => 333.0,
254
+    34 => 555.0,
255
+    35 => 500.0,
256
+    36 => 500.0,
257
+    37 => 1000.0,
258
+    38 => 833.0,
259
+    146 => 333.0,
260
+    40 => 333.0,
261
+    41 => 333.0,
262
+    42 => 500.0,
263
+    43 => 570.0,
264
+    44 => 250.0,
265
+    45 => 333.0,
266
+    173 => 333.0,
267
+    46 => 250.0,
268
+    47 => 278.0,
269
+    48 => 500.0,
270
+    49 => 500.0,
271
+    50 => 500.0,
272
+    51 => 500.0,
273
+    52 => 500.0,
274
+    53 => 500.0,
275
+    54 => 500.0,
276
+    55 => 500.0,
277
+    56 => 500.0,
278
+    57 => 500.0,
279
+    58 => 333.0,
280
+    59 => 333.0,
281
+    60 => 570.0,
282
+    61 => 570.0,
283
+    62 => 570.0,
284
+    63 => 500.0,
285
+    64 => 930.0,
286
+    65 => 722.0,
287
+    66 => 667.0,
288
+    67 => 722.0,
289
+    68 => 722.0,
290
+    69 => 667.0,
291
+    70 => 611.0,
292
+    71 => 778.0,
293
+    72 => 778.0,
294
+    73 => 389.0,
295
+    74 => 500.0,
296
+    75 => 778.0,
297
+    76 => 667.0,
298
+    77 => 944.0,
299
+    78 => 722.0,
300
+    79 => 778.0,
301
+    80 => 611.0,
302
+    81 => 778.0,
303
+    82 => 722.0,
304
+    83 => 556.0,
305
+    84 => 667.0,
306
+    85 => 722.0,
307
+    86 => 722.0,
308
+    87 => 1000.0,
309
+    88 => 722.0,
310
+    89 => 722.0,
311
+    90 => 667.0,
312
+    91 => 333.0,
313
+    92 => 278.0,
314
+    93 => 333.0,
315
+    94 => 581.0,
316
+    95 => 500.0,
317
+    145 => 333.0,
318
+    97 => 500.0,
319
+    98 => 556.0,
320
+    99 => 444.0,
321
+    100 => 556.0,
322
+    101 => 444.0,
323
+    102 => 333.0,
324
+    103 => 500.0,
325
+    104 => 556.0,
326
+    105 => 278.0,
327
+    106 => 333.0,
328
+    107 => 556.0,
329
+    108 => 278.0,
330
+    109 => 833.0,
331
+    110 => 556.0,
332
+    111 => 500.0,
333
+    112 => 556.0,
334
+    113 => 556.0,
335
+    114 => 444.0,
336
+    115 => 389.0,
337
+    116 => 333.0,
338
+    117 => 556.0,
339
+    118 => 500.0,
340
+    119 => 722.0,
341
+    120 => 500.0,
342
+    121 => 500.0,
343
+    122 => 444.0,
344
+    123 => 394.0,
345
+    124 => 220.0,
346
+    125 => 394.0,
347
+    126 => 520.0,
348
+    161 => 333.0,
349
+    162 => 500.0,
350
+    163 => 500.0,
351
+    'fraction' => 167.0,
352
+    165 => 500.0,
353
+    131 => 500.0,
354
+    167 => 500.0,
355
+    164 => 500.0,
356
+    39 => 278.0,
357
+    147 => 500.0,
358
+    171 => 500.0,
359
+    139 => 333.0,
360
+    155 => 333.0,
361
+    'fi' => 556.0,
362
+    'fl' => 556.0,
363
+    150 => 500.0,
364
+    134 => 500.0,
365
+    135 => 500.0,
366
+    183 => 250.0,
367
+    182 => 540.0,
368
+    149 => 350.0,
369
+    130 => 333.0,
370
+    132 => 500.0,
371
+    148 => 500.0,
372
+    187 => 500.0,
373
+    133 => 1000.0,
374
+    137 => 1000.0,
375
+    191 => 500.0,
376
+    96 => 333.0,
377
+    180 => 333.0,
378
+    136 => 333.0,
379
+    152 => 333.0,
380
+    175 => 333.0,
381
+    'breve' => 333.0,
382
+    'dotaccent' => 333.0,
383
+    168 => 333.0,
384
+    'ring' => 333.0,
385
+    184 => 333.0,
386
+    'hungarumlaut' => 333.0,
387
+    'ogonek' => 333.0,
388
+    'caron' => 333.0,
389
+    151 => 1000.0,
390
+    198 => 1000.0,
391
+    170 => 300.0,
392
+    'Lslash' => 667.0,
393
+    216 => 778.0,
394
+    140 => 1000.0,
395
+    186 => 330.0,
396
+    230 => 722.0,
397
+    'dotlessi' => 278.0,
398
+    'lslash' => 278.0,
399
+    248 => 500.0,
400
+    156 => 722.0,
401
+    223 => 556.0,
402
+    207 => 389.0,
403
+    233 => 444.0,
404
+    'abreve' => 500.0,
405
+    'uhungarumlaut' => 556.0,
406
+    'ecaron' => 444.0,
407
+    159 => 722.0,
408
+    247 => 570.0,
409
+    221 => 722.0,
410
+    194 => 722.0,
411
+    225 => 500.0,
412
+    219 => 722.0,
413
+    253 => 500.0,
414
+    'scommaaccent' => 389.0,
415
+    234 => 444.0,
416
+    'Uring' => 722.0,
417
+    220 => 722.0,
418
+    'aogonek' => 500.0,
419
+    218 => 722.0,
420
+    'uogonek' => 556.0,
421
+    203 => 667.0,
422
+    'Dcroat' => 722.0,
423
+    'commaaccent' => 250.0,
424
+    169 => 747.0,
425
+    'Emacron' => 667.0,
426
+    'ccaron' => 444.0,
427
+    229 => 500.0,
428
+    'Ncommaaccent' => 722.0,
429
+    'lacute' => 278.0,
430
+    224 => 500.0,
431
+    'Tcommaaccent' => 667.0,
432
+    'Cacute' => 722.0,
433
+    227 => 500.0,
434
+    'Edotaccent' => 667.0,
435
+    154 => 389.0,
436
+    'scedilla' => 389.0,
437
+    237 => 278.0,
438
+    'lozenge' => 494.0,
439
+    'Rcaron' => 722.0,
440
+    'Gcommaaccent' => 778.0,
441
+    251 => 556.0,
442
+    226 => 500.0,
443
+    'Amacron' => 722.0,
444
+    'rcaron' => 444.0,
445
+    231 => 444.0,
446
+    'Zdotaccent' => 667.0,
447
+    222 => 611.0,
448
+    'Omacron' => 778.0,
449
+    'Racute' => 722.0,
450
+    'Sacute' => 556.0,
451
+    'dcaron' => 672.0,
452
+    'Umacron' => 722.0,
453
+    'uring' => 556.0,
454
+    179 => 300.0,
455
+    210 => 778.0,
456
+    192 => 722.0,
457
+    'Abreve' => 722.0,
458
+    215 => 570.0,
459
+    250 => 556.0,
460
+    'Tcaron' => 667.0,
461
+    'partialdiff' => 494.0,
462
+    255 => 500.0,
463
+    'Nacute' => 722.0,
464
+    238 => 278.0,
465
+    202 => 667.0,
466
+    228 => 500.0,
467
+    235 => 444.0,
468
+    'cacute' => 444.0,
469
+    'nacute' => 556.0,
470
+    'umacron' => 556.0,
471
+    'Ncaron' => 722.0,
472
+    205 => 389.0,
473
+    177 => 570.0,
474
+    166 => 220.0,
475
+    174 => 747.0,
476
+    'Gbreve' => 778.0,
477
+    'Idotaccent' => 389.0,
478
+    'summation' => 600.0,
479
+    200 => 667.0,
480
+    'racute' => 444.0,
481
+    'omacron' => 500.0,
482
+    'Zacute' => 667.0,
483
+    142 => 667.0,
484
+    'greaterequal' => 549.0,
485
+    208 => 722.0,
486
+    199 => 722.0,
487
+    'lcommaaccent' => 278.0,
488
+    'tcaron' => 416.0,
489
+    'eogonek' => 444.0,
490
+    'Uogonek' => 722.0,
491
+    193 => 722.0,
492
+    196 => 722.0,
493
+    232 => 444.0,
494
+    'zacute' => 444.0,
495
+    'iogonek' => 278.0,
496
+    211 => 778.0,
497
+    243 => 500.0,
498
+    'amacron' => 500.0,
499
+    'sacute' => 389.0,
500
+    239 => 278.0,
501
+    212 => 778.0,
502
+    217 => 722.0,
503
+    'Delta' => 612.0,
504
+    254 => 556.0,
505
+    178 => 300.0,
506
+    214 => 778.0,
507
+    181 => 556.0,
508
+    236 => 278.0,
509
+    'ohungarumlaut' => 500.0,
510
+    'Eogonek' => 667.0,
511
+    'dcroat' => 556.0,
512
+    190 => 750.0,
513
+    'Scedilla' => 556.0,
514
+    'lcaron' => 394.0,
515
+    'Kcommaaccent' => 778.0,
516
+    'Lacute' => 667.0,
517
+    153 => 1000.0,
518
+    'edotaccent' => 444.0,
519
+    204 => 389.0,
520
+    'Imacron' => 389.0,
521
+    'Lcaron' => 667.0,
522
+    189 => 750.0,
523
+    'lessequal' => 549.0,
524
+    244 => 500.0,
525
+    241 => 556.0,
526
+    'Uhungarumlaut' => 722.0,
527
+    201 => 667.0,
528
+    'emacron' => 444.0,
529
+    'gbreve' => 500.0,
530
+    188 => 750.0,
531
+    138 => 556.0,
532
+    'Scommaaccent' => 556.0,
533
+    'Ohungarumlaut' => 778.0,
534
+    176 => 400.0,
535
+    242 => 500.0,
536
+    'Ccaron' => 722.0,
537
+    249 => 556.0,
538
+    'radical' => 549.0,
539
+    'Dcaron' => 722.0,
540
+    'rcommaaccent' => 444.0,
541
+    209 => 722.0,
542
+    245 => 500.0,
543
+    'Rcommaaccent' => 722.0,
544
+    'Lcommaaccent' => 667.0,
545
+    195 => 722.0,
546
+    'Aogonek' => 722.0,
547
+    197 => 722.0,
548
+    213 => 778.0,
549
+    'zdotaccent' => 444.0,
550
+    'Ecaron' => 667.0,
551
+    'Iogonek' => 389.0,
552
+    'kcommaaccent' => 556.0,
553
+    'minus' => 570.0,
554
+    206 => 389.0,
555
+    'ncaron' => 556.0,
556
+    'tcommaaccent' => 333.0,
557
+    172 => 570.0,
558
+    246 => 500.0,
559
+    252 => 556.0,
560
+    'notequal' => 549.0,
561
+    'gcommaaccent' => 500.0,
562
+    240 => 500.0,
563
+    158 => 444.0,
564
+    'ncommaaccent' => 556.0,
565
+    185 => 300.0,
566
+    'imacron' => 278.0,
567
+    128 => 500.0,
568
+  ),
569
+  'CIDtoGID_Compressed' => true,
570
+  'CIDtoGID' => 'eJwDAAAAAAE=',
571
+  '_version_' => 6,
572
+);

+ 2
- 2
storage/fonts/dompdf_font_family_cache.php Parādīt failu

@@ -78,7 +78,7 @@
78 78
     'normal' => $rootDir . '/lib/fonts/DejaVuSerif',
79 79
   ),
80 80
   'encode sans condensed' => array(
81
-    'normal' => $fontDir . '/encode_sans_condensed_normal_07f16d44e3df909db96482185e4fdccf',
82
-    '800' => $fontDir . '/encode_sans_condensed_800_299c07ee3e82ec5b851d47ea031b327a',
81
+    'normal' => $fontDir . '/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a',
82
+    '800' => $fontDir . '/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af',
83 83
   ),
84 84
 ) ?>

Binārs
storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ttf Parādīt failu


+ 249
- 0
storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ufm Parādīt failu

@@ -0,0 +1,249 @@
1
+StartFontMetrics 4.1
2
+Notice Converted by PHP-font-lib
3
+Comment https://github.com/PhenX/php-font-lib
4
+EncodingScheme FontSpecific
5
+Copyright Copyright 2012 The Encode Project Authors (impallari@gmail.com), with Reserved Font Name "Encode Sans".
6
+FontName Encode Sans Condensed ExtraBold
7
+FontSubfamily Regular
8
+UniqueID 2.000;IMPA;EncodeSansCondensed-ExtraBold
9
+FullName Encode Sans Condensed ExtraBold
10
+Version Version 2.000
11
+PostScriptName EncodeSansCondensed-ExtraBold
12
+LicenseURL http://scripts.sil.org/OFL
13
+Weight Bold
14
+ItalicAngle 0
15
+IsFixedPitch false
16
+UnderlineThickness 25
17
+UnderlinePosition -38
18
+FontHeightOffset 0
19
+Ascender 1030
20
+Descender -220
21
+FontBBox -538 -254 1356 1148
22
+StartCharMetrics 316
23
+U 0 ; WX 0 ; N NULL ; G 1
24
+U 13 ; WX 218 ; N CR ; G 2
25
+U 32 ; WX 218 ; N space ; G 3
26
+U 33 ; WX 280 ; N exclam ; G 189
27
+U 34 ; WX 428 ; N quotedbl ; G 195
28
+U 35 ; WX 586 ; N numbersign ; G 191
29
+U 36 ; WX 513 ; N dollar ; G 236
30
+U 37 ; WX 969 ; N percent ; G 258
31
+U 38 ; WX 734 ; N ampersand ; G 275
32
+U 39 ; WX 217 ; N quotesingle ; G 196
33
+U 40 ; WX 328 ; N parenleft ; G 215
34
+U 41 ; WX 328 ; N parenright ; G 216
35
+U 42 ; WX 494 ; N asterisk ; G 182
36
+U 43 ; WX 517 ; N plus ; G 247
37
+U 44 ; WX 260 ; N comma ; G 187
38
+U 45 ; WX 375 ; N hyphen ; G 219
39
+U 46 ; WX 260 ; N period ; G 192
40
+U 47 ; WX 351 ; N slash ; G 198
41
+U 48 ; WX 598 ; N zero ; G 134
42
+U 49 ; WX 350 ; N one ; G 135
43
+U 50 ; WX 479 ; N two ; G 136
44
+U 51 ; WX 484 ; N three ; G 137
45
+U 52 ; WX 576 ; N four ; G 138
46
+U 53 ; WX 490 ; N five ; G 139
47
+U 54 ; WX 567 ; N six ; G 140
48
+U 55 ; WX 456 ; N seven ; G 141
49
+U 56 ; WX 598 ; N eight ; G 142
50
+U 57 ; WX 567 ; N nine ; G 143
51
+U 58 ; WX 260 ; N colon ; G 186
52
+U 59 ; WX 260 ; N semicolon ; G 197
53
+U 60 ; WX 517 ; N less ; G 253
54
+U 61 ; WX 517 ; N equal ; G 251
55
+U 62 ; WX 517 ; N greater ; G 252
56
+U 63 ; WX 446 ; N question ; G 193
57
+U 64 ; WX 962 ; N at ; G 274
58
+U 65 ; WX 638 ; N A ; G 4
59
+U 66 ; WX 611 ; N B ; G 12
60
+U 67 ; WX 539 ; N C ; G 13
61
+U 68 ; WX 654 ; N D ; G 15
62
+U 69 ; WX 552 ; N E ; G 17
63
+U 70 ; WX 524 ; N F ; G 22
64
+U 71 ; WX 628 ; N G ; G 23
65
+U 72 ; WX 673 ; N H ; G 24
66
+U 73 ; WX 272 ; N I ; G 25
67
+U 74 ; WX 272 ; N J ; G 30
68
+U 75 ; WX 606 ; N K ; G 31
69
+U 76 ; WX 508 ; N L ; G 32
70
+U 77 ; WX 853 ; N M ; G 34
71
+U 78 ; WX 681 ; N N ; G 35
72
+U 79 ; WX 682 ; N O ; G 37
73
+U 80 ; WX 598 ; N P ; G 45
74
+U 81 ; WX 682 ; N Q ; G 47
75
+U 82 ; WX 626 ; N R ; G 48
76
+U 83 ; WX 513 ; N S ; G 49
77
+U 84 ; WX 579 ; N T ; G 50
78
+U 85 ; WX 660 ; N U ; G 51
79
+U 86 ; WX 628 ; N V ; G 56
80
+U 87 ; WX 997 ; N W ; G 57
81
+U 88 ; WX 630 ; N X ; G 58
82
+U 89 ; WX 579 ; N Y ; G 59
83
+U 90 ; WX 545 ; N Z ; G 61
84
+U 91 ; WX 328 ; N bracketleft ; G 213
85
+U 92 ; WX 351 ; N backslash ; G 183
86
+U 93 ; WX 328 ; N bracketright ; G 214
87
+U 94 ; WX 586 ; N asciicircum ; G 284
88
+U 95 ; WX 533 ; N underscore ; G 199
89
+U 96 ; WX 573 ; N grave ; G 312
90
+U 97 ; WX 493 ; N a ; G 63
91
+U 98 ; WX 539 ; N b ; G 71
92
+U 99 ; WX 412 ; N c ; G 72
93
+U 100 ; WX 539 ; N d ; G 74
94
+U 101 ; WX 489 ; N e ; G 76
95
+U 102 ; WX 358 ; N f ; G 81
96
+U 103 ; WX 539 ; N g ; G 82
97
+U 104 ; WX 538 ; N h ; G 83
98
+U 105 ; WX 259 ; N i ; G 84
99
+U 106 ; WX 259 ; N j ; G 91
100
+U 107 ; WX 527 ; N k ; G 93
101
+U 108 ; WX 258 ; N l ; G 94
102
+U 109 ; WX 802 ; N m ; G 96
103
+U 110 ; WX 538 ; N n ; G 97
104
+U 111 ; WX 523 ; N o ; G 99
105
+U 112 ; WX 539 ; N p ; G 107
106
+U 113 ; WX 539 ; N q ; G 109
107
+U 114 ; WX 375 ; N r ; G 110
108
+U 115 ; WX 417 ; N s ; G 111
109
+U 116 ; WX 381 ; N t ; G 113
110
+U 117 ; WX 533 ; N u ; G 114
111
+U 118 ; WX 513 ; N v ; G 119
112
+U 119 ; WX 802 ; N w ; G 120
113
+U 120 ; WX 508 ; N x ; G 121
114
+U 121 ; WX 513 ; N y ; G 122
115
+U 122 ; WX 429 ; N z ; G 125
116
+U 123 ; WX 348 ; N braceleft ; G 211
117
+U 124 ; WX 250 ; N bar ; G 282
118
+U 125 ; WX 348 ; N braceright ; G 212
119
+U 126 ; WX 517 ; N asciitilde ; G 255
120
+U 160 ; WX 218 ; N uni00A0 ; G 231
121
+U 161 ; WX 280 ; N exclamdown ; G 190
122
+U 162 ; WX 413 ; N cent ; G 234
123
+U 163 ; WX 592 ; N sterling ; G 238
124
+U 164 ; WX 586 ; N currency ; G 235
125
+U 165 ; WX 583 ; N yen ; G 239
126
+U 166 ; WX 250 ; N brokenbar ; G 283
127
+U 167 ; WX 479 ; N section ; G 277
128
+U 168 ; WX 573 ; N dieresis ; G 311
129
+U 169 ; WX 810 ; N copyright ; G 278
130
+U 170 ; WX 411 ; N ordfeminine ; G 132
131
+U 171 ; WX 558 ; N guillemotleft ; G 221
132
+U 172 ; WX 620 ; N logicalnot ; G 256
133
+U 173 ; WX 375 ; N uni00AD ; G 220
134
+U 174 ; WX 687 ; N registered ; G 279
135
+U 175 ; WX 573 ; N macron ; G 313
136
+U 176 ; WX 455 ; N degree ; G 281
137
+U 177 ; WX 517 ; N plusminus ; G 254
138
+U 178 ; WX 401 ; N uni00B2 ; G 175
139
+U 179 ; WX 401 ; N uni00B3 ; G 176
140
+U 180 ; WX 573 ; N acute ; G 308
141
+U 181 ; WX 533 ; N uni00B5 ; G 257
142
+U 182 ; WX 598 ; N paragraph ; G 276
143
+U 183 ; WX 260 ; N periodcentered ; G 184
144
+U 184 ; WX 573 ; N cedilla ; G 309
145
+U 185 ; WX 401 ; N uni00B9 ; G 174
146
+U 186 ; WX 435 ; N ordmasculine ; G 133
147
+U 187 ; WX 558 ; N guillemotright ; G 222
148
+U 188 ; WX 963 ; N onequarter ; G 180
149
+U 189 ; WX 963 ; N onehalf ; G 179
150
+U 190 ; WX 963 ; N threequarters ; G 181
151
+U 191 ; WX 446 ; N questiondown ; G 194
152
+U 192 ; WX 638 ; N Agrave ; G 8
153
+U 193 ; WX 638 ; N Aacute ; G 5
154
+U 194 ; WX 638 ; N Acircumflex ; G 6
155
+U 195 ; WX 638 ; N Atilde ; G 10
156
+U 196 ; WX 638 ; N Adieresis ; G 7
157
+U 197 ; WX 638 ; N Aring ; G 9
158
+U 198 ; WX 901 ; N AE ; G 11
159
+U 199 ; WX 539 ; N Ccedilla ; G 14
160
+U 200 ; WX 552 ; N Egrave ; G 21
161
+U 201 ; WX 552 ; N Eacute ; G 18
162
+U 202 ; WX 552 ; N Ecircumflex ; G 19
163
+U 203 ; WX 552 ; N Edieresis ; G 20
164
+U 204 ; WX 272 ; N Igrave ; G 29
165
+U 205 ; WX 272 ; N Iacute ; G 26
166
+U 206 ; WX 272 ; N Icircumflex ; G 27
167
+U 207 ; WX 272 ; N Idieresis ; G 28
168
+U 208 ; WX 654 ; N Eth ; G 16
169
+U 209 ; WX 681 ; N Ntilde ; G 36
170
+U 210 ; WX 682 ; N Ograve ; G 41
171
+U 211 ; WX 682 ; N Oacute ; G 38
172
+U 212 ; WX 682 ; N Ocircumflex ; G 39
173
+U 213 ; WX 682 ; N Otilde ; G 43
174
+U 214 ; WX 682 ; N Odieresis ; G 40
175
+U 215 ; WX 500 ; N multiply ; G 249
176
+U 216 ; WX 682 ; N Oslash ; G 42
177
+U 217 ; WX 660 ; N Ugrave ; G 55
178
+U 218 ; WX 660 ; N Uacute ; G 52
179
+U 219 ; WX 660 ; N Ucircumflex ; G 53
180
+U 220 ; WX 660 ; N Udieresis ; G 54
181
+U 221 ; WX 579 ; N Yacute ; G 60
182
+U 222 ; WX 603 ; N Thorn ; G 46
183
+U 223 ; WX 695 ; N germandbls ; G 112
184
+U 224 ; WX 493 ; N agrave ; G 67
185
+U 225 ; WX 493 ; N aacute ; G 64
186
+U 226 ; WX 493 ; N acircumflex ; G 65
187
+U 227 ; WX 493 ; N atilde ; G 69
188
+U 228 ; WX 493 ; N adieresis ; G 66
189
+U 229 ; WX 493 ; N aring ; G 68
190
+U 230 ; WX 741 ; N ae ; G 70
191
+U 231 ; WX 412 ; N ccedilla ; G 73
192
+U 232 ; WX 489 ; N egrave ; G 80
193
+U 233 ; WX 489 ; N eacute ; G 77
194
+U 234 ; WX 489 ; N ecircumflex ; G 78
195
+U 235 ; WX 489 ; N edieresis ; G 79
196
+U 236 ; WX 259 ; N igrave ; G 90
197
+U 237 ; WX 259 ; N iacute ; G 86
198
+U 238 ; WX 259 ; N icircumflex ; G 87
199
+U 239 ; WX 259 ; N idieresis ; G 88
200
+U 240 ; WX 523 ; N eth ; G 75
201
+U 241 ; WX 538 ; N ntilde ; G 98
202
+U 242 ; WX 523 ; N ograve ; G 103
203
+U 243 ; WX 523 ; N oacute ; G 100
204
+U 244 ; WX 523 ; N ocircumflex ; G 101
205
+U 245 ; WX 523 ; N otilde ; G 105
206
+U 246 ; WX 523 ; N odieresis ; G 102
207
+U 247 ; WX 517 ; N divide ; G 250
208
+U 248 ; WX 523 ; N oslash ; G 104
209
+U 249 ; WX 533 ; N ugrave ; G 118
210
+U 250 ; WX 533 ; N uacute ; G 115
211
+U 251 ; WX 533 ; N ucircumflex ; G 116
212
+U 252 ; WX 533 ; N udieresis ; G 117
213
+U 253 ; WX 513 ; N yacute ; G 123
214
+U 254 ; WX 539 ; N thorn ; G 108
215
+U 255 ; WX 513 ; N ydieresis ; G 124
216
+U 305 ; WX 259 ; N dotlessi ; G 85
217
+U 338 ; WX 918 ; N OE ; G 44
218
+U 339 ; WX 788 ; N oe ; G 106
219
+U 699 ; WX 573 ; N uni02BB ; G 307
220
+U 700 ; WX 573 ; N uni02BC ; G 306
221
+U 710 ; WX 573 ; N circumflex ; G 310
222
+U 730 ; WX 573 ; N ring ; G 314
223
+U 732 ; WX 573 ; N tilde ; G 315
224
+U 8201 ; WX 200 ; N uni2009 ; G 232
225
+U 8203 ; WX 0 ; N uni200B ; G 233
226
+U 8211 ; WX 400 ; N endash ; G 218
227
+U 8212 ; WX 800 ; N emdash ; G 217
228
+U 8216 ; WX 260 ; N quoteleft ; G 228
229
+U 8217 ; WX 260 ; N quoteright ; G 229
230
+U 8218 ; WX 260 ; N quotesinglbase ; G 230
231
+U 8220 ; WX 503 ; N quotedblleft ; G 226
232
+U 8221 ; WX 503 ; N quotedblright ; G 227
233
+U 8222 ; WX 503 ; N quotedblbase ; G 225
234
+U 8226 ; WX 368 ; N bullet ; G 185
235
+U 8230 ; WX 758 ; N ellipsis ; G 188
236
+U 8242 ; WX 217 ; N minute ; G 285
237
+U 8243 ; WX 428 ; N second ; G 286
238
+U 8249 ; WX 314 ; N guilsinglleft ; G 223
239
+U 8250 ; WX 314 ; N guilsinglright ; G 224
240
+U 8260 ; WX 162 ; N fraction ; G 178
241
+U 8308 ; WX 401 ; N uni2074 ; G 177
242
+U 8364 ; WX 611 ; N Euro ; G 237
243
+U 8482 ; WX 1006 ; N trademark ; G 280
244
+U 8593 ; WX 691 ; N arrowup ; G 272
245
+U 8595 ; WX 691 ; N arrowdown ; G 273
246
+U 8722 ; WX 517 ; N minus ; G 248
247
+U 8725 ; WX 351 ; N uni2215 ; G 246
248
+EndCharMetrics
249
+EndFontMetrics

Binārs
storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ttf Parādīt failu


+ 249
- 0
storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ufm Parādīt failu

@@ -0,0 +1,249 @@
1
+StartFontMetrics 4.1
2
+Notice Converted by PHP-font-lib
3
+Comment https://github.com/PhenX/php-font-lib
4
+EncodingScheme FontSpecific
5
+Copyright Copyright 2012 The Encode Project Authors (impallari@gmail.com), with Reserved Font Name "Encode Sans".
6
+FontName Encode Sans Condensed
7
+FontSubfamily Regular
8
+UniqueID 2.000;IMPA;EncodeSansCondensed-Regular
9
+FullName Encode Sans Condensed Regular
10
+Version Version 2.000
11
+PostScriptName EncodeSansCondensed-Regular
12
+LicenseURL http://scripts.sil.org/OFL
13
+Weight Medium
14
+ItalicAngle 0
15
+IsFixedPitch false
16
+UnderlineThickness 25
17
+UnderlinePosition -38
18
+FontHeightOffset 0
19
+Ascender 1030
20
+Descender -220
21
+FontBBox -387 -233 1150 1075
22
+StartCharMetrics 316
23
+U 0 ; WX 0 ; N NULL ; G 1
24
+U 13 ; WX 211 ; N CR ; G 2
25
+U 32 ; WX 211 ; N space ; G 3
26
+U 33 ; WX 225 ; N exclam ; G 189
27
+U 34 ; WX 337 ; N quotedbl ; G 195
28
+U 35 ; WX 527 ; N numbersign ; G 191
29
+U 36 ; WX 458 ; N dollar ; G 236
30
+U 37 ; WX 836 ; N percent ; G 258
31
+U 38 ; WX 658 ; N ampersand ; G 275
32
+U 39 ; WX 186 ; N quotesingle ; G 196
33
+U 40 ; WX 290 ; N parenleft ; G 215
34
+U 41 ; WX 290 ; N parenright ; G 216
35
+U 42 ; WX 439 ; N asterisk ; G 182
36
+U 43 ; WX 511 ; N plus ; G 247
37
+U 44 ; WX 205 ; N comma ; G 187
38
+U 45 ; WX 350 ; N hyphen ; G 219
39
+U 46 ; WX 205 ; N period ; G 192
40
+U 47 ; WX 253 ; N slash ; G 198
41
+U 48 ; WX 543 ; N zero ; G 134
42
+U 49 ; WX 299 ; N one ; G 135
43
+U 50 ; WX 426 ; N two ; G 136
44
+U 51 ; WX 446 ; N three ; G 137
45
+U 52 ; WX 521 ; N four ; G 138
46
+U 53 ; WX 448 ; N five ; G 139
47
+U 54 ; WX 504 ; N six ; G 140
48
+U 55 ; WX 412 ; N seven ; G 141
49
+U 56 ; WX 543 ; N eight ; G 142
50
+U 57 ; WX 504 ; N nine ; G 143
51
+U 58 ; WX 205 ; N colon ; G 186
52
+U 59 ; WX 205 ; N semicolon ; G 197
53
+U 60 ; WX 511 ; N less ; G 253
54
+U 61 ; WX 511 ; N equal ; G 251
55
+U 62 ; WX 511 ; N greater ; G 252
56
+U 63 ; WX 400 ; N question ; G 193
57
+U 64 ; WX 831 ; N at ; G 274
58
+U 65 ; WX 588 ; N A ; G 4
59
+U 66 ; WX 565 ; N B ; G 12
60
+U 67 ; WX 488 ; N C ; G 13
61
+U 68 ; WX 601 ; N D ; G 15
62
+U 69 ; WX 497 ; N E ; G 17
63
+U 70 ; WX 476 ; N F ; G 22
64
+U 71 ; WX 576 ; N G ; G 23
65
+U 72 ; WX 630 ; N H ; G 24
66
+U 73 ; WX 221 ; N I ; G 25
67
+U 74 ; WX 221 ; N J ; G 30
68
+U 75 ; WX 546 ; N K ; G 31
69
+U 76 ; WX 465 ; N L ; G 32
70
+U 77 ; WX 787 ; N M ; G 34
71
+U 78 ; WX 642 ; N N ; G 35
72
+U 79 ; WX 613 ; N O ; G 37
73
+U 80 ; WX 549 ; N P ; G 45
74
+U 81 ; WX 613 ; N Q ; G 47
75
+U 82 ; WX 581 ; N R ; G 48
76
+U 83 ; WX 458 ; N S ; G 49
77
+U 84 ; WX 517 ; N T ; G 50
78
+U 85 ; WX 618 ; N U ; G 51
79
+U 86 ; WX 573 ; N V ; G 56
80
+U 87 ; WX 920 ; N W ; G 57
81
+U 88 ; WX 567 ; N X ; G 58
82
+U 89 ; WX 517 ; N Y ; G 59
83
+U 90 ; WX 497 ; N Z ; G 61
84
+U 91 ; WX 290 ; N bracketleft ; G 213
85
+U 92 ; WX 253 ; N backslash ; G 183
86
+U 93 ; WX 290 ; N bracketright ; G 214
87
+U 94 ; WX 527 ; N asciicircum ; G 284
88
+U 95 ; WX 483 ; N underscore ; G 199
89
+U 96 ; WX 453 ; N grave ; G 312
90
+U 97 ; WX 447 ; N a ; G 63
91
+U 98 ; WX 482 ; N b ; G 71
92
+U 99 ; WX 370 ; N c ; G 72
93
+U 100 ; WX 482 ; N d ; G 74
94
+U 101 ; WX 444 ; N e ; G 76
95
+U 102 ; WX 305 ; N f ; G 81
96
+U 103 ; WX 482 ; N g ; G 82
97
+U 104 ; WX 487 ; N h ; G 83
98
+U 105 ; WX 203 ; N i ; G 84
99
+U 106 ; WX 203 ; N j ; G 91
100
+U 107 ; WX 450 ; N k ; G 93
101
+U 108 ; WX 203 ; N l ; G 94
102
+U 109 ; WX 749 ; N m ; G 96
103
+U 110 ; WX 487 ; N n ; G 97
104
+U 111 ; WX 477 ; N o ; G 99
105
+U 112 ; WX 482 ; N p ; G 107
106
+U 113 ; WX 482 ; N q ; G 109
107
+U 114 ; WX 311 ; N r ; G 110
108
+U 115 ; WX 379 ; N s ; G 111
109
+U 116 ; WX 322 ; N t ; G 113
110
+U 117 ; WX 483 ; N u ; G 114
111
+U 118 ; WX 455 ; N v ; G 119
112
+U 119 ; WX 747 ; N w ; G 120
113
+U 120 ; WX 428 ; N x ; G 121
114
+U 121 ; WX 455 ; N y ; G 122
115
+U 122 ; WX 389 ; N z ; G 125
116
+U 123 ; WX 310 ; N braceleft ; G 211
117
+U 124 ; WX 214 ; N bar ; G 282
118
+U 125 ; WX 310 ; N braceright ; G 212
119
+U 126 ; WX 511 ; N asciitilde ; G 255
120
+U 160 ; WX 211 ; N uni00A0 ; G 231
121
+U 161 ; WX 225 ; N exclamdown ; G 190
122
+U 162 ; WX 368 ; N cent ; G 234
123
+U 163 ; WX 545 ; N sterling ; G 238
124
+U 164 ; WX 527 ; N currency ; G 235
125
+U 165 ; WX 538 ; N yen ; G 239
126
+U 166 ; WX 214 ; N brokenbar ; G 283
127
+U 167 ; WX 430 ; N section ; G 277
128
+U 168 ; WX 453 ; N dieresis ; G 311
129
+U 169 ; WX 832 ; N copyright ; G 278
130
+U 170 ; WX 374 ; N ordfeminine ; G 132
131
+U 171 ; WX 416 ; N guillemotleft ; G 221
132
+U 172 ; WX 620 ; N logicalnot ; G 256
133
+U 173 ; WX 350 ; N uni00AD ; G 220
134
+U 174 ; WX 727 ; N registered ; G 279
135
+U 175 ; WX 453 ; N macron ; G 313
136
+U 176 ; WX 456 ; N degree ; G 281
137
+U 177 ; WX 511 ; N plusminus ; G 254
138
+U 178 ; WX 359 ; N uni00B2 ; G 175
139
+U 179 ; WX 359 ; N uni00B3 ; G 176
140
+U 180 ; WX 453 ; N acute ; G 308
141
+U 181 ; WX 483 ; N uni00B5 ; G 257
142
+U 182 ; WX 549 ; N paragraph ; G 276
143
+U 183 ; WX 205 ; N periodcentered ; G 184
144
+U 184 ; WX 453 ; N cedilla ; G 309
145
+U 185 ; WX 359 ; N uni00B9 ; G 174
146
+U 186 ; WX 398 ; N ordmasculine ; G 133
147
+U 187 ; WX 416 ; N guillemotright ; G 222
148
+U 188 ; WX 831 ; N onequarter ; G 180
149
+U 189 ; WX 831 ; N onehalf ; G 179
150
+U 190 ; WX 831 ; N threequarters ; G 181
151
+U 191 ; WX 400 ; N questiondown ; G 194
152
+U 192 ; WX 588 ; N Agrave ; G 8
153
+U 193 ; WX 588 ; N Aacute ; G 5
154
+U 194 ; WX 588 ; N Acircumflex ; G 6
155
+U 195 ; WX 588 ; N Atilde ; G 10
156
+U 196 ; WX 588 ; N Adieresis ; G 7
157
+U 197 ; WX 588 ; N Aring ; G 9
158
+U 198 ; WX 812 ; N AE ; G 11
159
+U 199 ; WX 488 ; N Ccedilla ; G 14
160
+U 200 ; WX 497 ; N Egrave ; G 21
161
+U 201 ; WX 497 ; N Eacute ; G 18
162
+U 202 ; WX 497 ; N Ecircumflex ; G 19
163
+U 203 ; WX 497 ; N Edieresis ; G 20
164
+U 204 ; WX 221 ; N Igrave ; G 29
165
+U 205 ; WX 221 ; N Iacute ; G 26
166
+U 206 ; WX 221 ; N Icircumflex ; G 27
167
+U 207 ; WX 221 ; N Idieresis ; G 28
168
+U 208 ; WX 601 ; N Eth ; G 16
169
+U 209 ; WX 642 ; N Ntilde ; G 36
170
+U 210 ; WX 613 ; N Ograve ; G 41
171
+U 211 ; WX 613 ; N Oacute ; G 38
172
+U 212 ; WX 613 ; N Ocircumflex ; G 39
173
+U 213 ; WX 613 ; N Otilde ; G 43
174
+U 214 ; WX 613 ; N Odieresis ; G 40
175
+U 215 ; WX 482 ; N multiply ; G 249
176
+U 216 ; WX 613 ; N Oslash ; G 42
177
+U 217 ; WX 618 ; N Ugrave ; G 55
178
+U 218 ; WX 618 ; N Uacute ; G 52
179
+U 219 ; WX 618 ; N Ucircumflex ; G 53
180
+U 220 ; WX 618 ; N Udieresis ; G 54
181
+U 221 ; WX 517 ; N Yacute ; G 60
182
+U 222 ; WX 554 ; N Thorn ; G 46
183
+U 223 ; WX 604 ; N germandbls ; G 112
184
+U 224 ; WX 447 ; N agrave ; G 67
185
+U 225 ; WX 447 ; N aacute ; G 64
186
+U 226 ; WX 447 ; N acircumflex ; G 65
187
+U 227 ; WX 447 ; N atilde ; G 69
188
+U 228 ; WX 447 ; N adieresis ; G 66
189
+U 229 ; WX 447 ; N aring ; G 68
190
+U 230 ; WX 712 ; N ae ; G 70
191
+U 231 ; WX 370 ; N ccedilla ; G 73
192
+U 232 ; WX 444 ; N egrave ; G 80
193
+U 233 ; WX 444 ; N eacute ; G 77
194
+U 234 ; WX 444 ; N ecircumflex ; G 78
195
+U 235 ; WX 444 ; N edieresis ; G 79
196
+U 236 ; WX 203 ; N igrave ; G 90
197
+U 237 ; WX 203 ; N iacute ; G 86
198
+U 238 ; WX 203 ; N icircumflex ; G 87
199
+U 239 ; WX 203 ; N idieresis ; G 88
200
+U 240 ; WX 477 ; N eth ; G 75
201
+U 241 ; WX 487 ; N ntilde ; G 98
202
+U 242 ; WX 477 ; N ograve ; G 103
203
+U 243 ; WX 477 ; N oacute ; G 100
204
+U 244 ; WX 477 ; N ocircumflex ; G 101
205
+U 245 ; WX 477 ; N otilde ; G 105
206
+U 246 ; WX 477 ; N odieresis ; G 102
207
+U 247 ; WX 511 ; N divide ; G 250
208
+U 248 ; WX 477 ; N oslash ; G 104
209
+U 249 ; WX 483 ; N ugrave ; G 118
210
+U 250 ; WX 483 ; N uacute ; G 115
211
+U 251 ; WX 483 ; N ucircumflex ; G 116
212
+U 252 ; WX 483 ; N udieresis ; G 117
213
+U 253 ; WX 455 ; N yacute ; G 123
214
+U 254 ; WX 482 ; N thorn ; G 108
215
+U 255 ; WX 455 ; N ydieresis ; G 124
216
+U 305 ; WX 203 ; N dotlessi ; G 85
217
+U 338 ; WX 856 ; N OE ; G 44
218
+U 339 ; WX 760 ; N oe ; G 106
219
+U 699 ; WX 453 ; N uni02BB ; G 307
220
+U 700 ; WX 453 ; N uni02BC ; G 306
221
+U 710 ; WX 453 ; N circumflex ; G 310
222
+U 730 ; WX 453 ; N ring ; G 314
223
+U 732 ; WX 453 ; N tilde ; G 315
224
+U 8201 ; WX 200 ; N uni2009 ; G 232
225
+U 8203 ; WX 0 ; N uni200B ; G 233
226
+U 8211 ; WX 400 ; N endash ; G 218
227
+U 8212 ; WX 800 ; N emdash ; G 217
228
+U 8216 ; WX 205 ; N quoteleft ; G 228
229
+U 8217 ; WX 205 ; N quoteright ; G 229
230
+U 8218 ; WX 205 ; N quotesinglbase ; G 230
231
+U 8220 ; WX 366 ; N quotedblleft ; G 226
232
+U 8221 ; WX 366 ; N quotedblright ; G 227
233
+U 8222 ; WX 366 ; N quotedblbase ; G 225
234
+U 8226 ; WX 334 ; N bullet ; G 185
235
+U 8230 ; WX 593 ; N ellipsis ; G 188
236
+U 8242 ; WX 186 ; N minute ; G 285
237
+U 8243 ; WX 337 ; N second ; G 286
238
+U 8249 ; WX 248 ; N guilsinglleft ; G 223
239
+U 8250 ; WX 248 ; N guilsinglright ; G 224
240
+U 8260 ; WX 114 ; N fraction ; G 178
241
+U 8308 ; WX 359 ; N uni2074 ; G 177
242
+U 8364 ; WX 552 ; N Euro ; G 237
243
+U 8482 ; WX 908 ; N trademark ; G 280
244
+U 8593 ; WX 642 ; N arrowup ; G 272
245
+U 8595 ; WX 642 ; N arrowdown ; G 273
246
+U 8722 ; WX 511 ; N minus ; G 248
247
+U 8725 ; WX 253 ; N uni2215 ; G 246
248
+EndCharMetrics
249
+EndFontMetrics

+ 483
- 0
storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ufm.php Parādīt failu

@@ -0,0 +1,483 @@
1
+<?php return array (
2
+  'codeToName' => 
3
+  array (
4
+    0 => 'NULL',
5
+    13 => 'CR',
6
+    32 => 'space',
7
+    33 => 'exclam',
8
+    34 => 'quotedbl',
9
+    35 => 'numbersign',
10
+    36 => 'dollar',
11
+    37 => 'percent',
12
+    38 => 'ampersand',
13
+    39 => 'quotesingle',
14
+    40 => 'parenleft',
15
+    41 => 'parenright',
16
+    42 => 'asterisk',
17
+    43 => 'plus',
18
+    44 => 'comma',
19
+    45 => 'hyphen',
20
+    46 => 'period',
21
+    47 => 'slash',
22
+    48 => 'zero',
23
+    49 => 'one',
24
+    50 => 'two',
25
+    51 => 'three',
26
+    52 => 'four',
27
+    53 => 'five',
28
+    54 => 'six',
29
+    55 => 'seven',
30
+    56 => 'eight',
31
+    57 => 'nine',
32
+    58 => 'colon',
33
+    59 => 'semicolon',
34
+    60 => 'less',
35
+    61 => 'equal',
36
+    62 => 'greater',
37
+    63 => 'question',
38
+    64 => 'at',
39
+    65 => 'A',
40
+    66 => 'B',
41
+    67 => 'C',
42
+    68 => 'D',
43
+    69 => 'E',
44
+    70 => 'F',
45
+    71 => 'G',
46
+    72 => 'H',
47
+    73 => 'I',
48
+    74 => 'J',
49
+    75 => 'K',
50
+    76 => 'L',
51
+    77 => 'M',
52
+    78 => 'N',
53
+    79 => 'O',
54
+    80 => 'P',
55
+    81 => 'Q',
56
+    82 => 'R',
57
+    83 => 'S',
58
+    84 => 'T',
59
+    85 => 'U',
60
+    86 => 'V',
61
+    87 => 'W',
62
+    88 => 'X',
63
+    89 => 'Y',
64
+    90 => 'Z',
65
+    91 => 'bracketleft',
66
+    92 => 'backslash',
67
+    93 => 'bracketright',
68
+    94 => 'asciicircum',
69
+    95 => 'underscore',
70
+    96 => 'grave',
71
+    97 => 'a',
72
+    98 => 'b',
73
+    99 => 'c',
74
+    100 => 'd',
75
+    101 => 'e',
76
+    102 => 'f',
77
+    103 => 'g',
78
+    104 => 'h',
79
+    105 => 'i',
80
+    106 => 'j',
81
+    107 => 'k',
82
+    108 => 'l',
83
+    109 => 'm',
84
+    110 => 'n',
85
+    111 => 'o',
86
+    112 => 'p',
87
+    113 => 'q',
88
+    114 => 'r',
89
+    115 => 's',
90
+    116 => 't',
91
+    117 => 'u',
92
+    118 => 'v',
93
+    119 => 'w',
94
+    120 => 'x',
95
+    121 => 'y',
96
+    122 => 'z',
97
+    123 => 'braceleft',
98
+    124 => 'bar',
99
+    125 => 'braceright',
100
+    126 => 'asciitilde',
101
+    160 => 'uni00A0',
102
+    161 => 'exclamdown',
103
+    162 => 'cent',
104
+    163 => 'sterling',
105
+    164 => 'currency',
106
+    165 => 'yen',
107
+    166 => 'brokenbar',
108
+    167 => 'section',
109
+    168 => 'dieresis',
110
+    169 => 'copyright',
111
+    170 => 'ordfeminine',
112
+    171 => 'guillemotleft',
113
+    172 => 'logicalnot',
114
+    173 => 'uni00AD',
115
+    174 => 'registered',
116
+    175 => 'macron',
117
+    176 => 'degree',
118
+    177 => 'plusminus',
119
+    178 => 'uni00B2',
120
+    179 => 'uni00B3',
121
+    180 => 'acute',
122
+    181 => 'uni00B5',
123
+    182 => 'paragraph',
124
+    183 => 'periodcentered',
125
+    184 => 'cedilla',
126
+    185 => 'uni00B9',
127
+    186 => 'ordmasculine',
128
+    187 => 'guillemotright',
129
+    188 => 'onequarter',
130
+    189 => 'onehalf',
131
+    190 => 'threequarters',
132
+    191 => 'questiondown',
133
+    192 => 'Agrave',
134
+    193 => 'Aacute',
135
+    194 => 'Acircumflex',
136
+    195 => 'Atilde',
137
+    196 => 'Adieresis',
138
+    197 => 'Aring',
139
+    198 => 'AE',
140
+    199 => 'Ccedilla',
141
+    200 => 'Egrave',
142
+    201 => 'Eacute',
143
+    202 => 'Ecircumflex',
144
+    203 => 'Edieresis',
145
+    204 => 'Igrave',
146
+    205 => 'Iacute',
147
+    206 => 'Icircumflex',
148
+    207 => 'Idieresis',
149
+    208 => 'Eth',
150
+    209 => 'Ntilde',
151
+    210 => 'Ograve',
152
+    211 => 'Oacute',
153
+    212 => 'Ocircumflex',
154
+    213 => 'Otilde',
155
+    214 => 'Odieresis',
156
+    215 => 'multiply',
157
+    216 => 'Oslash',
158
+    217 => 'Ugrave',
159
+    218 => 'Uacute',
160
+    219 => 'Ucircumflex',
161
+    220 => 'Udieresis',
162
+    221 => 'Yacute',
163
+    222 => 'Thorn',
164
+    223 => 'germandbls',
165
+    224 => 'agrave',
166
+    225 => 'aacute',
167
+    226 => 'acircumflex',
168
+    227 => 'atilde',
169
+    228 => 'adieresis',
170
+    229 => 'aring',
171
+    230 => 'ae',
172
+    231 => 'ccedilla',
173
+    232 => 'egrave',
174
+    233 => 'eacute',
175
+    234 => 'ecircumflex',
176
+    235 => 'edieresis',
177
+    236 => 'igrave',
178
+    237 => 'iacute',
179
+    238 => 'icircumflex',
180
+    239 => 'idieresis',
181
+    240 => 'eth',
182
+    241 => 'ntilde',
183
+    242 => 'ograve',
184
+    243 => 'oacute',
185
+    244 => 'ocircumflex',
186
+    245 => 'otilde',
187
+    246 => 'odieresis',
188
+    247 => 'divide',
189
+    248 => 'oslash',
190
+    249 => 'ugrave',
191
+    250 => 'uacute',
192
+    251 => 'ucircumflex',
193
+    252 => 'udieresis',
194
+    253 => 'yacute',
195
+    254 => 'thorn',
196
+    255 => 'ydieresis',
197
+    305 => 'dotlessi',
198
+    338 => 'OE',
199
+    339 => 'oe',
200
+    699 => 'uni02BB',
201
+    700 => 'uni02BC',
202
+    710 => 'circumflex',
203
+    730 => 'ring',
204
+    732 => 'tilde',
205
+    8201 => 'uni2009',
206
+    8203 => 'uni200B',
207
+    8211 => 'endash',
208
+    8212 => 'emdash',
209
+    8216 => 'quoteleft',
210
+    8217 => 'quoteright',
211
+    8218 => 'quotesinglbase',
212
+    8220 => 'quotedblleft',
213
+    8221 => 'quotedblright',
214
+    8222 => 'quotedblbase',
215
+    8226 => 'bullet',
216
+    8230 => 'ellipsis',
217
+    8242 => 'minute',
218
+    8243 => 'second',
219
+    8249 => 'guilsinglleft',
220
+    8250 => 'guilsinglright',
221
+    8260 => 'fraction',
222
+    8308 => 'uni2074',
223
+    8364 => 'Euro',
224
+    8482 => 'trademark',
225
+    8593 => 'arrowup',
226
+    8595 => 'arrowdown',
227
+    8722 => 'minus',
228
+    8725 => 'uni2215',
229
+  ),
230
+  'isUnicode' => true,
231
+  'EncodingScheme' => 'FontSpecific',
232
+  'FontName' => 'Encode Sans Condensed',
233
+  'FullName' => 'Encode Sans Condensed Regular',
234
+  'Version' => 'Version 2.000',
235
+  'PostScriptName' => 'EncodeSansCondensed-Regular',
236
+  'Weight' => 'Medium',
237
+  'ItalicAngle' => '0',
238
+  'IsFixedPitch' => 'false',
239
+  'UnderlineThickness' => '25',
240
+  'UnderlinePosition' => '-38',
241
+  'FontHeightOffset' => '0',
242
+  'Ascender' => '1030',
243
+  'Descender' => '-220',
244
+  'FontBBox' => 
245
+  array (
246
+    0 => '-387',
247
+    1 => '-233',
248
+    2 => '1150',
249
+    3 => '1075',
250
+  ),
251
+  'StartCharMetrics' => '316',
252
+  'C' => 
253
+  array (
254
+    0 => 0.0,
255
+    13 => 211.0,
256
+    32 => 211.0,
257
+    33 => 225.0,
258
+    34 => 337.0,
259
+    35 => 527.0,
260
+    36 => 458.0,
261
+    37 => 836.0,
262
+    38 => 658.0,
263
+    39 => 186.0,
264
+    40 => 290.0,
265
+    41 => 290.0,
266
+    42 => 439.0,
267
+    43 => 511.0,
268
+    44 => 205.0,
269
+    45 => 350.0,
270
+    46 => 205.0,
271
+    47 => 253.0,
272
+    48 => 543.0,
273
+    49 => 299.0,
274
+    50 => 426.0,
275
+    51 => 446.0,
276
+    52 => 521.0,
277
+    53 => 448.0,
278
+    54 => 504.0,
279
+    55 => 412.0,
280
+    56 => 543.0,
281
+    57 => 504.0,
282
+    58 => 205.0,
283
+    59 => 205.0,
284
+    60 => 511.0,
285
+    61 => 511.0,
286
+    62 => 511.0,
287
+    63 => 400.0,
288
+    64 => 831.0,
289
+    65 => 588.0,
290
+    66 => 565.0,
291
+    67 => 488.0,
292
+    68 => 601.0,
293
+    69 => 497.0,
294
+    70 => 476.0,
295
+    71 => 576.0,
296
+    72 => 630.0,
297
+    73 => 221.0,
298
+    74 => 221.0,
299
+    75 => 546.0,
300
+    76 => 465.0,
301
+    77 => 787.0,
302
+    78 => 642.0,
303
+    79 => 613.0,
304
+    80 => 549.0,
305
+    81 => 613.0,
306
+    82 => 581.0,
307
+    83 => 458.0,
308
+    84 => 517.0,
309
+    85 => 618.0,
310
+    86 => 573.0,
311
+    87 => 920.0,
312
+    88 => 567.0,
313
+    89 => 517.0,
314
+    90 => 497.0,
315
+    91 => 290.0,
316
+    92 => 253.0,
317
+    93 => 290.0,
318
+    94 => 527.0,
319
+    95 => 483.0,
320
+    96 => 453.0,
321
+    97 => 447.0,
322
+    98 => 482.0,
323
+    99 => 370.0,
324
+    100 => 482.0,
325
+    101 => 444.0,
326
+    102 => 305.0,
327
+    103 => 482.0,
328
+    104 => 487.0,
329
+    105 => 203.0,
330
+    106 => 203.0,
331
+    107 => 450.0,
332
+    108 => 203.0,
333
+    109 => 749.0,
334
+    110 => 487.0,
335
+    111 => 477.0,
336
+    112 => 482.0,
337
+    113 => 482.0,
338
+    114 => 311.0,
339
+    115 => 379.0,
340
+    116 => 322.0,
341
+    117 => 483.0,
342
+    118 => 455.0,
343
+    119 => 747.0,
344
+    120 => 428.0,
345
+    121 => 455.0,
346
+    122 => 389.0,
347
+    123 => 310.0,
348
+    124 => 214.0,
349
+    125 => 310.0,
350
+    126 => 511.0,
351
+    160 => 211.0,
352
+    161 => 225.0,
353
+    162 => 368.0,
354
+    163 => 545.0,
355
+    164 => 527.0,
356
+    165 => 538.0,
357
+    166 => 214.0,
358
+    167 => 430.0,
359
+    168 => 453.0,
360
+    169 => 832.0,
361
+    170 => 374.0,
362
+    171 => 416.0,
363
+    172 => 620.0,
364
+    173 => 350.0,
365
+    174 => 727.0,
366
+    175 => 453.0,
367
+    176 => 456.0,
368
+    177 => 511.0,
369
+    178 => 359.0,
370
+    179 => 359.0,
371
+    180 => 453.0,
372
+    181 => 483.0,
373
+    182 => 549.0,
374
+    183 => 205.0,
375
+    184 => 453.0,
376
+    185 => 359.0,
377
+    186 => 398.0,
378
+    187 => 416.0,
379
+    188 => 831.0,
380
+    189 => 831.0,
381
+    190 => 831.0,
382
+    191 => 400.0,
383
+    192 => 588.0,
384
+    193 => 588.0,
385
+    194 => 588.0,
386
+    195 => 588.0,
387
+    196 => 588.0,
388
+    197 => 588.0,
389
+    198 => 812.0,
390
+    199 => 488.0,
391
+    200 => 497.0,
392
+    201 => 497.0,
393
+    202 => 497.0,
394
+    203 => 497.0,
395
+    204 => 221.0,
396
+    205 => 221.0,
397
+    206 => 221.0,
398
+    207 => 221.0,
399
+    208 => 601.0,
400
+    209 => 642.0,
401
+    210 => 613.0,
402
+    211 => 613.0,
403
+    212 => 613.0,
404
+    213 => 613.0,
405
+    214 => 613.0,
406
+    215 => 482.0,
407
+    216 => 613.0,
408
+    217 => 618.0,
409
+    218 => 618.0,
410
+    219 => 618.0,
411
+    220 => 618.0,
412
+    221 => 517.0,
413
+    222 => 554.0,
414
+    223 => 604.0,
415
+    224 => 447.0,
416
+    225 => 447.0,
417
+    226 => 447.0,
418
+    227 => 447.0,
419
+    228 => 447.0,
420
+    229 => 447.0,
421
+    230 => 712.0,
422
+    231 => 370.0,
423
+    232 => 444.0,
424
+    233 => 444.0,
425
+    234 => 444.0,
426
+    235 => 444.0,
427
+    236 => 203.0,
428
+    237 => 203.0,
429
+    238 => 203.0,
430
+    239 => 203.0,
431
+    240 => 477.0,
432
+    241 => 487.0,
433
+    242 => 477.0,
434
+    243 => 477.0,
435
+    244 => 477.0,
436
+    245 => 477.0,
437
+    246 => 477.0,
438
+    247 => 511.0,
439
+    248 => 477.0,
440
+    249 => 483.0,
441
+    250 => 483.0,
442
+    251 => 483.0,
443
+    252 => 483.0,
444
+    253 => 455.0,
445
+    254 => 482.0,
446
+    255 => 455.0,
447
+    305 => 203.0,
448
+    338 => 856.0,
449
+    339 => 760.0,
450
+    699 => 453.0,
451
+    700 => 453.0,
452
+    710 => 453.0,
453
+    730 => 453.0,
454
+    732 => 453.0,
455
+    8201 => 200.0,
456
+    8203 => 0.0,
457
+    8211 => 400.0,
458
+    8212 => 800.0,
459
+    8216 => 205.0,
460
+    8217 => 205.0,
461
+    8218 => 205.0,
462
+    8220 => 366.0,
463
+    8221 => 366.0,
464
+    8222 => 366.0,
465
+    8226 => 334.0,
466
+    8230 => 593.0,
467
+    8242 => 186.0,
468
+    8243 => 337.0,
469
+    8249 => 248.0,
470
+    8250 => 248.0,
471
+    8260 => 114.0,
472
+    8308 => 359.0,
473
+    8364 => 552.0,
474
+    8482 => 908.0,
475
+    8593 => 642.0,
476
+    8595 => 642.0,
477
+    8722 => 511.0,
478
+    8725 => 253.0,
479
+  ),
480
+  'CIDtoGID_Compressed' => true,
481
+  'CIDtoGID' => 'eJzt0NXOGFUUhuF3cKdOCxQI7laKFYK7O4FAcHfXM1zvBHd3LgB3dzvD7Q/pQdMUaKDwk/A8yZo9s2ZmzTe7od8z3+/emdX8PdyTPdrnw3zD+J7qpV7unr7pwV7rsZ7pqq7umq7tuq7vhm7spm7ugZ7up37oxx4fxrVAS7RkSze2SS3T5Ka0Qiu2Uiu3Squ1Xhu0YRu1cdPavC3ashlt3Qvd24vD8j07bN427dKu7d6e7df+HdCBHd4RHdlRHd2xndrpndGZnd05XdhFXdwlXd5zw7I93y9z9Yd/7KMe6dO+7LO+GpYbJg6bDZO6ojdGtvX1YZlhi2FKP3drtw2bDMMwofuG6d3Slb3ZXd3Z3T3RIi3YQi3Wwi3a4i3VxMY1vglNbdmWa/nGtGprtXprtE5r9l1rt1mbNL1N26r1O6sd2rbt2qnt27Gd261926u926fDOrhDOrQ9OqYTO67jO7kT+r6TuqBzO6/zu7TTumwe7MCfOehvT1i3U+ZBDviPGKYNG8+hu+lcvr3lSM2Yt4kAAAAAAAAAAAAAAAAAAPjP+nikPpmt92qvzDx7vw/6cGR9t/d6Z2bv/pnrQ3MeOEwdVpjl8q3ensNDd/ylrHPv9n94/uy++Je/N4qGyaOd4J80jBmpsaOdYlR9+9vx61FOAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8T/wKKZVdkw==',
482
+  '_version_' => 6,
483
+);

Notiek ielāde…
Atcelt
Saglabāt