Image Storage
ΠΠ°ΠΊΠ΅Ρ-ΠΌΠ΅Π΄ΠΈΠ°Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π»Ρ Laravel 5.4 ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ., (*1)
Π Π°Π·Π΄Π΅Π»Ρ
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
2. VIS-CMS
3. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²
1. ΠΠΎΠ½ΡΠΈΠ³ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
2. ΠΠΎΠ½ΡΠΈΠ³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
3. ΠΠΎΠ½ΡΠΈΠ³ Π²ΠΈΠ΄Π΅ΠΎ
* ΠΠΎΠ½ΡΠΈΠ³ Π²ΠΈΠ΄Π΅ΠΎ API
4. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
1. ΠΠ±ΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ
5. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
6. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
* ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ API
7. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ
8. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ³ΠΎΠ²
5. ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
6. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² VIS CMS
1. ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
2. ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
1. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
2. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
3. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
3. ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ, (*2)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ, (*3)
composer require "vis/image_storage_l5":"1.*"
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² config\app.php Π² ΠΌΠ°ΡΡΠΈΠ² providers, (*4)
Vis\ImageStorage\ImageStorageServiceProvider::class,
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ, (*5)
php artisan migrate --path=vendor/vis/image_storage_l5/src/Migrations
ΠΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ config, js, css, images, (*6)
php artisan vendor:publish --provider="Vis\ImageStorage\ImageStorageServiceProvider" --force
VIS-CMS
Π ΡΠ°ΠΉΠ»Π΅ config/builder/admin.php Π² ΠΌΠ°ΡΡΠΈΠ² menu Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ, (*7)
array(
'title' => 'ΠΠ΅Π΄ΠΈΠ°Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅',
'icon' => 'picture-o',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
},
'submenu' => array(
array(
'title' => "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ",
'link' => '/image_storage/images',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
array(
'title' => "ΠΠ°Π»Π΅ΡΠ΅ΠΈ",
'link' => '/image_storage/galleries',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
array(
'title' => "ΠΠΈΠ΄Π΅ΠΎ",
'link' => '/image_storage/videos',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
array(
'title' => "ΠΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ",
'link' => '/image_storage/video_galleries',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
array(
'title' => "ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ",
'link' => '/image_storage/documents',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
array(
'title' => "Π’Π΅Π³ΠΈ",
'link' => '/image_storage/tags',
'check' => function() {
return Sentinel::hasAccess('admin.image_storage.view');
}
),
)
),
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° Π² config/builder/tb-definitions/groups.php ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡ
ΠΊ Π³ΡΡΠΏΠΏΠ°ΠΌ., (*8)
'ΠΠ΅Π΄ΠΈΠ°Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅' => array(
'admin.image_storage.view' => 'ΠΡΠΎΡΠΌΠΎΡΡ',
'admin.image_storage.create' => 'Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅',
'admin.image_storage.update' => 'Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅',
'admin.image_storage.delete' => 'Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅',
),
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ²
ΠΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ 3 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:, (*9)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° title ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π½Π° ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² VIS-CMS, (*10)
'title' => "ΠΠ°Π»Π΅ΡΠ΅ΠΈ",
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° per_page ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ
Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² VIS-CMS, (*11)
'per_page' => 20,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° fields ΡΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ: text, textarea,checkbox, select, datetime. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΈ Π² VIS-CMS.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠ°Π±ΠΎΠ², (*12)
'fields' => array(
...
),
ΠΠΎΠ½ΡΠΈΠ³ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΠΎΡΠΈΠ±ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 'max_size' ΠΈ 'extension_list', (*13)
'size_validation' => array(
'enabled' => true,
'max_size' => '1500000',
'error_message' => "ΠΡΠ΅Π²ΡΡΠ΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² [size] MB"
),
'extension_validation' => array(
'enabled' => true,
'allowed_extensions' => array('png', 'jpg', 'jpeg'),
'error_message' => "ΠΠΎΠΏΡΡΡΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ²: [extension_list]"
),
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
JPG ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: 0-100, (*14)
'quality' => 85,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Vis\Builder\OptimizationImg Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*15)
'optimization' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ title.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*16)
'source_title' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
.
ΠΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ exif_read_data, Π΄Π°Π½Π½ΡΠ΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ json.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*17)
'store_exif' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*18)
'delete_files' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*19)
'rename_files' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π½ΠΎΠ²ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ³Π΅Π½Π΅Π½ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*20)
'display_generate_new_size_button' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ
.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Intervention.
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Modify ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Intervention, (*21)
'sizes' => array(
'source' => array(
'caption' => 'ΠΡΠΈΠ³ΠΈΠ½Π°Π»',
'default_tab' => true,
),
'cms_preview' => array(
'caption' => 'ΠΡΠ΅Π²ΡΡ Π² Π¦ΠΠ‘',
'default_tab' => false,
'modify' => array(
'fit' => array(160, 160, function (\Intervention\Image\Constraint $constraint) {
$constraint->upsize();
}),
),
),
ΠΠΎΠ½ΡΠΈΠ³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ, ΠΊΡΠΎΠΌΠ΅
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ "Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°".
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΡΠ°ΠΉΡΠ°
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π²ΠΎ Π²ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ, (*22)
'sizes' => array(
'source' => array(
'caption' => 'ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ»',
'default_tab' => true,
),
'ua' => array(
'caption' => 'Π€Π°ΠΉΠ» Π½Π° ΡΠΊΡ',
'default_tab' => false,
),
'en' => array(
'caption' => 'Π€Π°ΠΉΠ» Π½Π° Π°Π½Π³Π»',
'default_tab' => false,
),
),
ΠΠΎΠ½ΡΠΈΠ³ Π²ΠΈΠ΄Π΅ΠΎ
Π ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ fields Π΄Π²Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΎΠ»Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ, (*23)
'api_provider' => array(
'caption' => 'ΠΠΈΠ΄Π΅ΠΎ ΡΠ΅ΡΠ²ΠΈΡ',
'type' => 'select',
'options' => config('image-storage.video_api.provider_names')
),
'api_id' => array(
'caption' => 'ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ',
'type' => 'text',
'field' => 'string',
'placeholder' => 'ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ',
),
ΠΠΎΠ½ΡΠΈΠ³ Π²ΠΈΠ΄Π΅ΠΎ API
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΠΊΠ»ΡΡΠΈ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*24)
'enabled' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ API
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: x, 0 (ΠΏΡΠΈΠΌ. 0 - Π²Π΅ΡΠ½ΠΎΡΡΡ), false, (*25)
'cache_minutes' => 60,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ title&description ΠΈΠ· ΠΎΡΠ²Π΅ΡΠ° Π²ΠΈΠ΄Π΅ΠΎ API
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: true\false, (*26)
'set_data' => true,
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠΌΠ΅Π½ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ API.
ΠΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² select ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ\ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ, (*27)
'provider_names' => array(
'youtube' => 'Youtube',
'vimeo' => 'Vimeo',
),
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ
Π²ΠΈΠ΄Π΅ΠΎ API, (*28)
'providers' => array(
'youtube' => array(
...
),
'vimeo' => array(
...
),
)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ API ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², (*29)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ΅ (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ»ΡΡΠ° API), (*30)
'video_existence_url' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠ΅Π²ΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ΅ (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ»ΡΡΠ° API), (*31)
'preview_url' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ-ΠΏΡΠ΅Π²ΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ΅, (*32)
'preview_quality' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΠΈΠ΄Π΅ΠΎ (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ»ΡΡΠ° API), (*33)
'watch_url' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠ»ΡΡΠ° API), (*34)
'embed_url' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ API, (*35)
'api_url' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Ρ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° API, (*36)
'api_part' => '',
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠ»ΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ API, (*37)
'api_key' => '',
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ±ΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ² Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°., (*38)
use Vis\ImageStorage\Gallery;
use Vis\ImageStorage\Image;
use Vis\ImageStorage\Tag;
use Vis\ImageStorage\VideoGallery;
use Vis\ImageStorage\Video;
use Vis\ImageStorage\Documents;
ΠΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Eloquent.
Π’Π°ΠΊ ΠΆΠ΅ Π²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ΅ΠΉΡΡ VIS CMS \Vis\Builder\Helpers\Traits\TranslateTrait ΠΈ \Vis\Builder\Helpers\Traits\SeoTrait , (*39)
ΠΠ»Ρ Π²ΡΠ΅Ρ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ»Π°Π³, Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, (*40)
public function getSlug()
ΠΠ±ΡΠΈΠ΅ scope ΡΠΈΠ»ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (\Models\Traits\FilterableTrait.php)
Π€ΠΈΠ»ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ id., (*41)
public function scopeOrderId(Builder $query, $order = "desc")
Π€ΠΈΠ»ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ., (*42)
public function scopeActive(Builder $query)
Π€ΠΈΠ»ΡΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΎΠ³Π»Π°ΡΠ½Π° ΠΌΠ°ΡΡΠΈΠ²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΡΡΠΈΠ² $activity[0,1], (*43)
public function scopeFilterByActivity(Builder $query, array $activity = [])
Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ slug Π·Π°ΠΏΠΈΡΠΈ, (*44)
public function scopeSlug(Builder $query, $slug = '')
Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ title Π·Π°ΠΏΠΈΡΠΈ, (*45)
public function scopeFilterByTitle(Builder $query, $title = '')
Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΡΡΠΈΠ² $date['from' => '', to => ''], (*46)
public function scopeFilterByDate(Builder $query, array $date = [])
Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ ΡΡΠ³Π°ΠΌ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΡΡΠΈΠ² $tags[$idTags], (*47)
public function scopeFilterByTags(Builder $query, array $tags = [])
Eloquent ΡΠ²ΡΠ·Ρ Ρ ΡΡΠ³Π°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΡΠ³ΠΈ Ρ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ, (*48)
public function tags()
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π³Π°Π»Π΅ΡΠ΅ΡΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π³Π°Π»Π΅ΡΠ΅ΠΈ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, (*49)
public function galleries()
Π€ΠΈΠ»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π³Π°Π»Π΅ΡΠ΅ΡΠΌ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΡΡΠΈΠ² $galleries[$idGalleries], (*50)
public function scopeFilterByGalleries(Builder $query, array $galleries = [])
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΡ. Π ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, (*51)
public function getUrl()
{
return route("vis_images_show_single", [$this->getSlug()]);
}
ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ src/Models/AbstractImageStorageFile.php ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*52)
public function getSource($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*53)
public function getFileExtension($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*54)
public function getFileName($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*55)
public function getFileSize($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ mime-type ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*56)
public function getFileMimeType($size = 'source')
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ
Eloquent ΡΠ²ΡΠ·Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π³Π°Π»Π΅ΡΠ΅Π΅ΠΉ, (*57)
public function images()
Π€ΠΈΠ»ΡΡΡ Π³Π°Π»Π΅ΡΠ΅ΠΉ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, (*58)
public function scopeHasImages(Builder $query)
Π€ΠΈΠ»ΡΡΡ Π³Π°Π»Π΅ΡΠ΅ΠΉ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, (*59)
public function scopeHasActiveImages(Builder $query)
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π³Π°Π»Π΅ΡΠ΅Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΡ. Π ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, (*60)
public function getUrl()
{
return route("vis_galleries_show_single", [$this->getSlug()]);
}
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π²ΡΡ-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π³Π°Π»Π΅ΡΠ΅ΠΈ
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - cms_preview, (*61)
public function getGalleryPreviewImage($size = 'cms_preview')
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ src/Models/AbstractImageStorageFile.php ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*62)
public function getSource($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*63)
public function getFileExtension($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*64)
public function getFileName($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*65)
public function getFileSize($size = 'source')
ΠΠΎΠ»ΡΡΠΈΡΡ mime-type ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½ΡΡ
Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - source, (*66)
public function getFileMimeType($size = 'source')
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
Eloquent ΡΠ²ΡΠ·Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ-ΠΏΡΠ΅Π²ΡΡ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ-ΠΏΡΠ΅Π²ΡΡ, (*67)
public function preview()
Eloquent ΡΠ²ΡΠ·Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π³Π°Π»Π΅ΡΠ΅Π΅ΠΉ, (*68)
public function videoGalleries()
Π‘Π²ΡΠ·Ρ Ρ API ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ API provider Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π²ΠΈΠ΄Π΅ΠΎ., (*69)
public function api()
Π€ΠΈΠ»ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΡΠΌ Π³Π°Π»Π΅ΡΠ΅ΡΠΌ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΡΡΠΈΠ² $galleries[$idGalleries], (*70)
public function scopeFilterByVideoGalleries(Builder $query, array $galleries = [])
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ id Π²ΠΈΠ΄Π΅ΠΎ, (*71)
public function getSource()
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΡ. Π ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, (*72)
public function getUrl()
{
return route("vis_videos_show_single", [$this->getSlug()]);
}
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠ΅Π²ΡΡ Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠ΅Π²ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ API Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ., (*73)
public function getPreviewImage($size = 'source')
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ API
ΠΠΈΠ΄Π΅ΠΎ API ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ /Models/Interfaces/VideoAPIInterface.php ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ , (*74)
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, (*75)
public function getWatchUrl(array $urlParams);
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, (*76)
public function getEmbedUrl(array $urlParams);
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈ-ΠΏΡΠ΅Π²ΡΡ ΠΈΠ· API, (*77)
public function getPreviewUrl();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π΄Π°Π½Π½ΡΡ
ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*78)
public function getApiResponse();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*79)
public function getTitle();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*80)
public function getDescription();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*81)
public function getViewCount();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π»Π°ΠΉΠΊΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*82)
public function getLikeCount();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*83)
public function getDislikeCount();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° favorite Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*84)
public function getFavoriteCount();
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· API, (*85)
public function getCommentCount();
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΈ
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Ρ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅Π΅ΠΉ, (*86)
public function videos()
Π€ΠΈΠ»ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, (*87)
public function scopeHasVideos(Builder $query)
Π€ΠΈΠ»ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π²ΠΈΠ΄Π΅ΠΎ, (*88)
public function scopeHasActiveVideos(Builder $query)
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΡ. Π ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, (*89)
public function getUrl()
{
return route("vis_video_galleries_show_single", [$this->getSlug()]);
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ³ΠΎΠ²
Eloquent ΡΠ²ΡΠ·Ρ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠ³ΠΎΠΌ, (*90)
public function images()
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠ³ΠΎΠΌ, (*91)
public function documents()
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠ³ΠΎΠΌ, (*92)
public function videos()
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π³Π°Π»Π΅ΡΠ΅ΡΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠ³ΠΎΠΌ, (*93)
public function galleries()
Eloquent ΡΠ²ΡΠ·Ρ Ρ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΡΠΌΠΈ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠ³ΠΎΠΌ, (*94)
public function videoGalleries()
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΅Π΄ΠΈΠ°Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΄ ΡΠ΅Π³ΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΉ Π² Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ΅Π΄ΠΈΠ°Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΡΡΠ° ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅Π³Π°ΠΌΠΈ.
ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΡΠ³ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ:
* image-storage.video
* image-storage.document
* image-storage.video_gallery
* image-storage.gallery
* image-storage.image
* image-storage.tag, (*95)
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² VIS CMS
ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ VIS-CMS.
Π ΡΠ°ΠΏΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Ρ ΡΠΈΠ»ΡΡΠ°ΠΌΠΈ(Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ²) ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ, (*96)
ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²Π΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ
ΠΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ². ΠΊΠΎΠ½ΡΠΈΠ³Π΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·ΡΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ., (*97)
ΠΡΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅\ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π½ΠΈΡ
ΠΌΡΡΠΊΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ctrl. , (*98)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅" ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠΎΠ½ Π²ΡΠ±ΠΎΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡΡ
ΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ.
ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠ³Π΅Π½ΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ-ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π½Π΅ ΡΡΡΠ°ΡΠΈΠ²Π°Π΅Ρ, ΡΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°., (*99)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ. ΠΡΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ - ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² ΠΎΠ±ΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠΎΠ»Ρ title ΠΈ description Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠΎΠΎΡΠ². Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³Π΅.
ΠΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-ΠΏΡΠ΅Π²ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π½Π΅ ΡΡΡΠ°ΡΠΈΠ²Π°Π΅Ρ, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "ΠΡΠ΅Π²ΡΡ"., (*100)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ" ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠΎΠ½ Π²ΡΠ±ΠΎΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Ρ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΡΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°., (*101)
ΠΠ±ΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ³Π°Π»Π΅ΡΠ΅ΠΉ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π°Π»Π΅ΡΠ΅ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ\Π²ΠΈΠ΄Π΅ΠΎ Π² Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ\Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ ΠΈΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ\Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΡ Π΄Π»Ρ Π³Π°Π»Π΅ΡΠ΅ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π½Π΅Π³ΠΎ ΠΌΡΡΠΊΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ctrl., (*102)