Roberto Santini пре 3 година
родитељ
комит
8a3be556ff
34 измењених фајлова са 2464 додато и 204 уклоњено
  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
      public/assets/logo.png
  15. BIN
      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
      storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ttf
  31. 249
    0
      storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ufm
  32. BIN
      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 Прегледај датотеку

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 Прегледај датотеку

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 Прегледај датотеку

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 Прегледај датотеку

6
 use Yajra\DataTables\DataTables;
6
 use Yajra\DataTables\DataTables;
7
 use Illuminate\Support\Facades\Http;
7
 use Illuminate\Support\Facades\Http;
8
 use Illuminate\Support\Collection;
8
 use Illuminate\Support\Collection;
9
+use Illuminate\Support\Facades\Log;
9
 // use App\DataTables\ContabilitaDataTableEditor;
10
 // use App\DataTables\ContabilitaDataTableEditor;
10
 use App\DataTables\IssueDataTable;
11
 use App\DataTables\IssueDataTable;
11
 use Carbon\Carbon;
12
 use Carbon\Carbon;
17
 {
18
 {
18
   public function index(IssueDataTable $dataTable){
19
   public function index(IssueDataTable $dataTable){
19
     $redmineUser = session('redmine_user');
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
       'key' => $redmineUser->api_key,
25
       'key' => $redmineUser->api_key,
23
       'assigned_to_id' => $redmineUser->id,
26
       'assigned_to_id' => $redmineUser->id,
24
       'limit' => 100,
27
       'limit' => 100,
25
     ]);
28
     ]);
26
 
29
 
27
     // dd($response->object()->issues);
30
     // dd($response->object()->issues);
28
-    $collection = new Collection();
29
-    foreach($response->object()->issues as $issue){
31
+    foreach($issueResponse->object()->issues as $issue){
30
       $collection->push($issue);
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
   public function show($id = null, Request $request){
60
   public function show($id = null, Request $request){
40
     //   $id = $request->issue_id;
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
       'key' => $redmineUser->api_key,
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
       'key' => $redmineUser->api_key,
72
       'key' => $redmineUser->api_key,
49
     ]);
73
     ]);
50
 
74
 
51
     // dd($response_helpesk->object()->helpdesk_ticket);
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
       $issue = $response_issue->object()->issue;
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
         $author = $helpdesk->contact->name." (".$helpdesk->from_address.")";
83
         $author = $helpdesk->contact->name." (".$helpdesk->from_address.")";
60
-      }else{
84
+      }catch(\Exception $e){
61
         $author = $issue->author->name;
85
         $author = $issue->author->name;
62
       }
86
       }
63
 
87
 
88
+      // if($response_helpesk->ok() && property_exists($helpdesk, 'contact')){
89
+      // }else{
90
+      // }
91
+
64
       return view('issue.show')->with(['issue' => $issue, 'author' => $author]);
92
       return view('issue.show')->with(['issue' => $issue, 'author' => $author]);
65
     }else{
93
     }else{
66
       Session::flash('flash_message', "Errore generico");
94
       Session::flash('flash_message', "Errore generico");
95
+      dd($response_issue->object());
67
       return redirect()->route('home');
96
       return redirect()->route('home');
68
     }
97
     }
69
   }
98
   }
72
     $redmineUser = session('redmine_user');
101
     $redmineUser = session('redmine_user');
73
 
102
 
74
     // Issue details
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
       'key' => $redmineUser->api_key,
105
       'key' => $redmineUser->api_key,
77
     ]);
106
     ]);
78
     $issue = $response_issue->object()->issue;
107
     $issue = $response_issue->object()->issue;
79
-    // dd($issue);
80
 
108
 
81
     // Activity
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
       'key' => $redmineUser->api_key,
111
       'key' => $redmineUser->api_key,
84
     ]);
112
     ]);
85
 
113
 
90
     }
118
     }
91
 
119
 
92
     // issueStatus
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
       'key' => $redmineUser->api_key,
122
       'key' => $redmineUser->api_key,
95
     ]);
123
     ]);
96
 
124
 
100
     }
128
     }
101
 
129
 
102
     // Altri tecnici
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
       'key' => $redmineUser->api_key,
132
       'key' => $redmineUser->api_key,
105
     ]);
133
     ]);
106
 
134
 
107
     $memberships = $response->object()->memberships;
135
     $memberships = $response->object()->memberships;
108
     $altriTecnici = array();
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
   public function firma_rapporto(Request $request){
166
   public function firma_rapporto(Request $request){
118
     $redmineUser = session('redmine_user');
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
       'key' => $redmineUser->api_key,
170
       'key' => $redmineUser->api_key,
122
     ]);
171
     ]);
123
     $issue = $response_issue->object()->issue;
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
     // Cliente
179
     // Cliente
131
     $cliente = $issue->project->name;
180
     $cliente = $issue->project->name;
163
       'persona_riferimento' => $request->persona_riferimento,
212
       'persona_riferimento' => $request->persona_riferimento,
164
       'cliente' => $cliente
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
     $uploads = array();
219
     $uploads = array();
170
 
220
 
174
       'content-type' => 'application/octet-stream'
224
       'content-type' => 'application/octet-stream'
175
     ])
225
     ])
176
     ->withBody($pdf->output(), 'application/pdf')
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
       'filename' => $filename
228
       'filename' => $filename
179
     ]);
229
     ]);
180
 
230
 
231
+    // dd($response->object());
232
+
181
 
233
 
182
     $uploadToken = $response->object()->upload->token;
234
     $uploadToken = $response->object()->upload->token;
183
     $uploads[] = [
235
     $uploads[] = [
206
           'content-type' => 'application/octet-stream'
258
           'content-type' => 'application/octet-stream'
207
         ])
259
         ])
208
         ->withBody($allegato->get(), $allegato->getMimeType())
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
           'filename' => $originalFilename
262
           'filename' => $originalFilename
211
         ]);
263
         ]);
212
 
264
 
222
           'content_type' => $allegato->getMimeType()
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
     // Elimino le firme
282
     // Elimino le firme
239
     Storage::disk('temp')->delete([$sign_path_tecnico, $sign_path_cliente]);
283
     Storage::disk('temp')->delete([$sign_path_tecnico, $sign_path_cliente]);
247
     ];
291
     ];
248
 
292
 
249
     // Aggiorno lo issue
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
       'issue' => [
295
       'issue' => [
252
         'notes' => $request->note,
296
         'notes' => $request->note,
253
         'status_id' => $request->status_id,
297
         'status_id' => $request->status_id,
257
       'helpdesk' => [
301
       'helpdesk' => [
258
         'is_send_mail' => 1
302
         'is_send_mail' => 1
259
       ],
303
       ],
260
-
261
     ]);
304
     ]);
262
 
305
 
263
     $response->throw(function ($response, $e) {
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 Прегледај датотеку

5
 use Illuminate\Http\Request;
5
 use Illuminate\Http\Request;
6
 use Yajra\DataTables\DataTables;
6
 use Yajra\DataTables\DataTables;
7
 use Illuminate\Support\Facades\Http;
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
 class LoginController extends Controller
11
 class LoginController extends Controller
12
 {
12
 {
14
     $redmineUser = session('redmine_user');
14
     $redmineUser = session('redmine_user');
15
     if($redmineUser != null){
15
     if($redmineUser != null){
16
       // Tento l'autenticazione
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
         'key' => $redmineUser->api_key
18
         'key' => $redmineUser->api_key
19
       ]);
19
       ]);
20
 
20
 
30
   }
30
   }
31
 
31
 
32
   public function login(Request $request){
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 Прегледај датотеку

19
   {
19
   {
20
     try{
20
     try{
21
       $redmineUser = session('redmine_user');
21
       $redmineUser = session('redmine_user');
22
+      $azienda = session('azienda');
22
       // Tento l'autenticazione
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
         'key' => $redmineUser->api_key
25
         'key' => $redmineUser->api_key
25
       ]);
26
       ]);
26
       if(!$response->ok()){
27
       if(!$response->ok()){

+ 60
- 0
app/Models/AbstractModels/AbstractAzienda.php Прегледај датотеку

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 Прегледај датотеку

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

+ 1
- 1
config/app.php Прегледај датотеку

123
 
123
 
124
     'cipher' => 'AES-256-CBC',
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 Прегледај датотеку

47
             'url' => env('APP_URL').'/storage/temp',
47
             'url' => env('APP_URL').'/storage/temp',
48
             'visibility' => 'public',
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 Прегледај датотеку

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 Прегледај датотеку

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 Прегледај датотеку

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
public/assets/logo.png Прегледај датотеку


BIN
public/assets/logo_rm.png Прегледај датотеку


+ 58
- 0
resources/views/azienda/index.blade.php Прегледај датотеку

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 Прегледај датотеку

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 Прегледај датотеку

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 Прегледај датотеку

37
 <x-app-layout>
37
 <x-app-layout>
38
   <x-slot name="header">
38
   <x-slot name="header">
39
     <h2 class="font-semibold text-xl text-gray-800 leading-tight">
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
     </h2>
41
     </h2>
42
   </x-slot>
42
   </x-slot>
43
 
43
 
83
 
83
 
84
             <div class="form-group col-md">
84
             <div class="form-group col-md">
85
               {!! Form::label('ora_fine', 'Fine') !!}
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
             </div>
87
             </div>
88
           </div>
88
           </div>
89
 
89
 
132
     </div>
132
     </div>
133
   </div>
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
   <div class="row justify-content-center" style="margin-top: 20px;" id="div_allegati_ext">
170
   <div class="row justify-content-center" style="margin-top: 20px;" id="div_allegati_ext">
136
     <div class="col-xl-10 col-lg-12 col-md px-md-3 px-2">
171
     <div class="col-xl-10 col-lg-12 col-md px-md-3 px-2">
137
       <div class="card">
172
       <div class="card">
146
                 <div id="div_{{$time}}"><i class="fas fa-cloud-upload-alt"></i> Aggiungi allegato</div>
181
                 <div id="div_{{$time}}"><i class="fas fa-cloud-upload-alt"></i> Aggiungi allegato</div>
147
                 <span id="span_{{$time}}"></span>
182
                 <span id="span_{{$time}}"></span>
148
               </label>
183
               </label>
149
-            </div>            
184
+            </div>
150
           </div>
185
           </div>
151
         </div>
186
         </div>
152
       </div>
187
       </div>

+ 5
- 1
resources/views/issue/pdf.blade.php Прегледај датотеку

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

+ 1
- 1
resources/views/issue/show.blade.php Прегледај датотеку

4
 <x-app-layout>
4
 <x-app-layout>
5
   <x-slot name="header">
5
   <x-slot name="header">
6
     <h2 class="font-semibold text-xl text-gray-800 leading-tight">
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
     </h2>
8
     </h2>
9
   </x-slot>
9
   </x-slot>
10
 
10
 

+ 23
- 0
resources/views/issue/success.blade.php Прегледај датотеку

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 Прегледај датотеку

5
       <div class="flex">
5
       <div class="flex">
6
         <!-- Logo -->
6
         <!-- Logo -->
7
         <div class="flex-shrink-0 flex items-center">
7
         <div class="flex-shrink-0 flex items-center">
8
-          <a href="{{ route('login') }}">
8
+          <a href="{{ route('home') }}">
9
             <x-application-logo class="block h-10 w-auto fill-current text-gray-600" />
9
             <x-application-logo class="block h-10 w-auto fill-current text-gray-600" />
10
           </a>
10
           </a>
11
         </div>
11
         </div>
20
             <i class="fas fa-ticket-alt"></i> Issues
20
             <i class="fas fa-ticket-alt"></i> Issues
21
           </x-nav-link>
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
         </div>
28
         </div>
25
       </div>
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
     <!-- Hamburger -->
63
     <!-- Hamburger -->
62
     </div>
96
     </div>
63
 
97
 
64
     <div class="mt-3 space-y-1">
98
     <div class="mt-3 space-y-1">
99
+    </div>
65
   </div>
100
   </div>
66
 </div>
101
 </div>
67
-</div>
68
 </nav>
102
 </nav>

+ 6
- 1
resources/views/login/index.blade.php Прегледај датотеку

29
                 <input class="form-control form-control-solid" type="password" name="password" />
29
                 <input class="form-control form-control-solid" type="password" name="password" />
30
               </div>
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
               <!-- Form Group (login box)-->
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
                 <button type="submit" class="btn btn-primary">Login</button>
39
                 <button type="submit" class="btn btn-primary">Login</button>
35
               </div>
40
               </div>
36
             </form>
41
             </form>

+ 10
- 3
resources/views/testata_pdf.blade.php Прегледај датотеку

11
     font-weight: 400;
11
     font-weight: 400;
12
   }
12
   }
13
   p, h1, h2, h3{
13
   p, h1, h2, h3{
14
-      margin: 2px;
14
+    margin: 2px;
15
   }
15
   }
16
 
16
 
17
   b{
17
   b{
93
 
93
 
94
 <div style="width: 100%; padding-top: 0px; height: 100px; margin-bottom: 15px;" >
94
 <div style="width: 100%; padding-top: 0px; height: 100px; margin-bottom: 15px;" >
95
   <div style="width: 40%; float: left;">
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
   </div>
102
   </div>
98
 
103
 
99
   <div style="width: 58%; float: left; text-align: right; font-size: 12px;">
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
   </div>
108
   </div>
102
 </div>
109
 </div>

+ 123
- 127
resources/views/welcome.blade.php Прегледај датотеку

1
 <!DOCTYPE html>
1
 <!DOCTYPE html>
2
 <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
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
             </div>
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
         </div>
123
         </div>
131
-    </body>
124
+      </div> -->
125
+    </div>
126
+  </div>
127
+</body>
132
 </html>
128
 </html>

+ 5
- 0
routes/web.php Прегледај датотеку

4
 use App\Http\Controllers\LoginController;
4
 use App\Http\Controllers\LoginController;
5
 use App\Http\Controllers\HomeController;
5
 use App\Http\Controllers\HomeController;
6
 use App\Http\Controllers\IssueController;
6
 use App\Http\Controllers\IssueController;
7
+use App\Http\Controllers\AziendaController;
7
 
8
 
8
 /*
9
 /*
9
 |--------------------------------------------------------------------------
10
 |--------------------------------------------------------------------------
23
 
24
 
24
 Route::get('login', [LoginController::class, 'index'])->name('login');
25
 Route::get('login', [LoginController::class, 'index'])->name('login');
25
 Route::post('login', [LoginController::class, 'login'])->name('login');
26
 Route::post('login', [LoginController::class, 'login'])->name('login');
27
+Route::post('logout', [LoginController::class, 'logout'])->name('logout');
26
 
28
 
27
 
29
 
28
 Route::middleware(['redmine_auth'])->group(function () {
30
 Route::middleware(['redmine_auth'])->group(function () {
31
   Route::get('issue/{id?}/show', [IssueController::class, 'show'])->name('issue.show');
33
   Route::get('issue/{id?}/show', [IssueController::class, 'show'])->name('issue.show');
32
   Route::get('issue/{id}/firma', [IssueController::class, 'firma'])->name('issue.firma');
34
   Route::get('issue/{id}/firma', [IssueController::class, 'firma'])->name('issue.firma');
33
   Route::post('issue/firma_rapporto', [IssueController::class, 'firma_rapporto'])->name('issue.firma_rapporto');
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 Прегледај датотеку

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 Прегледај датотеку

78
     'normal' => $rootDir . '/lib/fonts/DejaVuSerif',
78
     'normal' => $rootDir . '/lib/fonts/DejaVuSerif',
79
   ),
79
   ),
80
   'encode sans condensed' => array(
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
storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ttf Прегледај датотеку


+ 249
- 0
storage/fonts/encode_sans_condensed_800_50f784a256399e28e16f28832b3ba7af.ufm Прегледај датотеку

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
storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ttf Прегледај датотеку


+ 249
- 0
storage/fonts/encode_sans_condensed_normal_d7672eb8874cf4c74f27d647a9dc5b8a.ufm Прегледај датотеку

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 Прегледај датотеку

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
+);

Loading…
Откажи
Сачувај