Загрузка архивных картинок, хранение инфы о парах в json.

parent 52c21316
...@@ -42,7 +42,8 @@ ...@@ -42,7 +42,8 @@
opacity: 1 !important; opacity: 1 !important;
} }
.b-list_folders.new .b-list_folders-item.viewed /*.b-list_folders.new .b-list_folders-item.viewed*/
.b-list_folders-item.viewed
{ {
opacity: 0.45; opacity: 0.45;
} }
......
{"B-KazwCAcxM":"","B24WGzEo8v_":"","B9RwSi4oPAh":"","B9mWsSwAvo-":{"1":["a1654267236-1.jpg","a1654267236-2.jpg"]}}
\ No newline at end of file
...@@ -14,7 +14,8 @@ $(document).ready(function(){ ...@@ -14,7 +14,8 @@ $(document).ready(function(){
colorsActive = $foldersContentWrap.data('colors'), colorsActive = $foldersContentWrap.data('colors'),
pairsCount = $foldersContentWrap.data('pairs_count'), pairsCount = $foldersContentWrap.data('pairs_count'),
currentNumToSelect = {}, currentNumToSelect = {},
hasSelectedFoto = {}; hasSelectedFoto = {},
archiveData = {};
function StartLoading() function StartLoading()
{ {
...@@ -40,10 +41,21 @@ $(document).ready(function(){ ...@@ -40,10 +41,21 @@ $(document).ready(function(){
$folder.addClass('active'); $folder.addClass('active');
} }
function MarkFolderViewed($folderName) function MarkFolderViewed($folderName, type)
{ {
$folderName.addClass('viewed'); if (type == 'new') {
$saveButton.removeClass('disabled'); $folderName.addClass('viewed');
$saveButton.removeClass('disabled');
}
}
function MarkArchFolderViewed(folderName, $this)
{
if ($this.parents('.b-preview_inner').hasClass('arch')) {
console.log('AAA MarkArchFolderViewed ', folderName);
$('.b-list_folders-item[data-folder="' + folderName + '"]').addClass('viewed');
$saveButton.removeClass('disabled');
}
} }
function RenderFilesList(folderName, folderType, data) function RenderFilesList(folderName, folderType, data)
...@@ -107,33 +119,25 @@ $(document).ready(function(){ ...@@ -107,33 +119,25 @@ $(document).ready(function(){
hasSelectedFoto[folderName] = false; // Выбрали одну картинку (есть подсвеченное фото) hasSelectedFoto[folderName] = false; // Выбрали одну картинку (есть подсвеченное фото)
} }
function SetPairedFotos(folderName, folderType, data) function SetPairedFotos(folderName, folderType)
{ {
if (folderType == 'arch') { if (folderType == 'arch') {
console.log('AAA data = ', data); if (archiveData[folderName]) {
var pairedFotos = {}; var pairs = Object.keys(archiveData[folderName]);
data.forEach(function(item){ if (pairs > 0)
var itemData = item.split('-'); {
if (itemData.length>1) { var $folderContentWrap = $('.b-folder-content[data-folder="' + folderName + '"]', $foldersArchContentWrap);
if (!pairedFotos[itemData[0]]) {
pairedFotos[itemData[0]] = []; pairs.forEach(function(pair){
} $('.b-foto_inner[data-foto="' + archiveData[folderName][pair][0] + '"] ', $folderContentWrap).click();
pairedFotos[itemData[0]].push(item); $('.b-foto_inner[data-foto="' + archiveData[folderName][pair][1] + '"] ', $folderContentWrap).click();
});
$('.b-list_folders-item[data-folder="' + folderName + '"]').removeClass('viewed');
$saveButton.addClass('disabled');
} }
});
console.log('AAA pairedFotos = ', pairedFotos);
var pairs = Object.keys(pairedFotos);
if (pairs > 0)
{
pairs.forEach(function(pair){
$('.b-foto_inner[data-foto="' + pairedFotos[pair][0] + '"] ', $foldersArchContentWrap).click();
$('.b-foto_inner[data-foto="' + pairedFotos[pair][1] + '"] ', $foldersArchContentWrap).click();
});
} }
} }
} }
function RenderFoldersList(type, data) function RenderFoldersList(type, data)
...@@ -287,14 +291,12 @@ $(document).ready(function(){ ...@@ -287,14 +291,12 @@ $(document).ready(function(){
// Клик по фото без рамки // Клик по фото без рамки
if (!hasSelectedFoto[folderName]) { if (!hasSelectedFoto[folderName]) {
// выбор первого фото для пары: //console.log('AAA выбор 1-е фото для пары');
console.log('AAA 1-е фото в пару');
num = currentNumToSelect[folderName]; num = currentNumToSelect[folderName];
hasSelectedFoto[folderName] = true; hasSelectedFoto[folderName] = true;
$currentFolderWrap.addClass('has-selected'); $currentFolderWrap.addClass('has-selected');
} else { } else {
// выбор второго фото для пары (пара сформирована): //console.log('AAA выбор 2-е фото для пары (пара сформирована)');
//console.log('AAA 2-е фото в пару');
num = currentNumToSelect[folderName]; num = currentNumToSelect[folderName];
$pairedFoto = $('.b-foto_inner[data-num="' + num + '"]', $currentFolderWrap); $pairedFoto = $('.b-foto_inner[data-num="' + num + '"]', $currentFolderWrap);
$this.addClass('paired'); $this.addClass('paired');
...@@ -311,12 +313,11 @@ $(document).ready(function(){ ...@@ -311,12 +313,11 @@ $(document).ready(function(){
foto1.appendTo($('.sorted',$currentFolderWrap)); foto1.appendTo($('.sorted',$currentFolderWrap));
foto2.appendTo($('.sorted',$currentFolderWrap)); foto2.appendTo($('.sorted',$currentFolderWrap));
SetDataGroupContents($currentFolderWrap); SetDataGroupContents($currentFolderWrap);
MarkArchFolderViewed(folderName, $this);
currentNumToSelect[folderName] = getCurrenNumToSelect($currentFolderWrap); currentNumToSelect[folderName] = getCurrenNumToSelect($currentFolderWrap);
hasSelectedFoto[folderName] = false; hasSelectedFoto[folderName] = false;
$currentFolderWrap.removeClass('has-selected'); $currentFolderWrap.removeClass('has-selected');
} }
$('.b-foto_number', $this).text(num); $('.b-foto_number', $this).text(num);
...@@ -335,8 +336,7 @@ $(document).ready(function(){ ...@@ -335,8 +336,7 @@ $(document).ready(function(){
} }
else else
{ {
// Клик по фото с рамкой //console.log('AAA Клик по фото с рамкой');
console.log('AAA Клик по фото с рамкой');
var var
pairedNum = parseInt($this.attr('data-num')), pairedNum = parseInt($this.attr('data-num')),
...@@ -356,6 +356,7 @@ $(document).ready(function(){ ...@@ -356,6 +356,7 @@ $(document).ready(function(){
foto.appendTo($('.not-sorted',$currentFolderWrap)); foto.appendTo($('.not-sorted',$currentFolderWrap));
}); });
SetDataGroupContents($currentFolderWrap); SetDataGroupContents($currentFolderWrap);
MarkArchFolderViewed(folderName, $this);
} }
$('.b-foto_number', $pairedFotos).text(''); $('.b-foto_number', $pairedFotos).text('');
...@@ -392,11 +393,11 @@ $(document).ready(function(){ ...@@ -392,11 +393,11 @@ $(document).ready(function(){
$foldersContent.hide().removeClass('active'); $foldersContent.hide().removeClass('active');
if ($('.b-folder-content[data-folder="' + folderName + '"]').length>0) { if ($('.b-folder-content[data-folder="' + folderName + '"]').length>0) {
console.log('AAA отображаем'); //console.log('AAA отображаем');
$('.b-folder-content[data-folder="' + folderName + '"]').show().addClass('active'); $('.b-folder-content[data-folder="' + folderName + '"]').show().addClass('active');
MarkFolderSelected($this, folderType); MarkFolderSelected($this, folderType);
} else { } else {
console.log('AAA подгружаем'); //console.log('AAA подгружаем');
StartLoading(); StartLoading();
$.ajax(action, { $.ajax(action, {
type: method, type: method,
...@@ -405,9 +406,9 @@ $(document).ready(function(){ ...@@ -405,9 +406,9 @@ $(document).ready(function(){
//console.log('AAA success', data); //console.log('AAA success', data);
StopLoading(); StopLoading();
RenderFilesList(folderName, folderType, data); RenderFilesList(folderName, folderType, data);
SetPairedFotos(folderName, folderType, data); SetPairedFotos(folderName, folderType);
MarkFolderSelected($this, folderType); MarkFolderSelected($this, folderType);
MarkFolderViewed($this); MarkFolderViewed($this, folderType);
}, },
error: function(rew, status, err) { error: function(rew, status, err) {
console.log(status, err); console.log(status, err);
...@@ -432,7 +433,7 @@ $(document).ready(function(){ ...@@ -432,7 +433,7 @@ $(document).ready(function(){
// Загрузка списка папок: // Загрузка списка папок:
if ($('li', $('.b-list_folders.' + type)).length == 0) { if ($('li', $('.b-list_folders.' + type)).length == 0) {
console.log('AAA загружаем список'); //console.log('AAA загружаем список папок');
var var
$form = $('#load-folders-list-form'), $form = $('#load-folders-list-form'),
...@@ -449,8 +450,8 @@ $(document).ready(function(){ ...@@ -449,8 +450,8 @@ $(document).ready(function(){
success: function(data) { success: function(data) {
console.log('AAA success', data); console.log('AAA success', data);
StopLoading(); StopLoading();
RenderFoldersList(type, data); RenderFoldersList(type, data['folders']);
archiveData = data['archive'];
}, },
error: function(rew, status, err) { error: function(rew, status, err) {
console.log(status, err); console.log(status, err);
......
...@@ -89,7 +89,7 @@ class Main extends Common ...@@ -89,7 +89,7 @@ class Main extends Common
$data = $request->getParsedBody(); $data = $request->getParsedBody();
$folders_list = []; $folders_list = [];
return new JsonResponse($data); $unic = time();
/* /*
$resp = [ $resp = [
...@@ -100,6 +100,28 @@ class Main extends Common ...@@ -100,6 +100,28 @@ class Main extends Common
*/ */
chdir('public/'); chdir('public/');
$file_name = "fotos.dat";
$file_data = json_decode(file_get_contents($file_name), true);
foreach($data as $folder => $pairs) {
$data_folder = $pairs;
if (is_array($pairs)) {
$data_folder = [];
foreach($pairs as $pair => $files) {
$data_folder[$pair] = [];
foreach($files as $file) {
$data_folder[$pair][] = 'a'.$unic.'-'.$file;
}
}
}
$file_data[$folder] = $data_folder;
}
file_put_contents($file_name, json_encode($file_data));
foreach($data as $folder => $pairs) { foreach($data as $folder => $pairs) {
...@@ -117,20 +139,7 @@ class Main extends Common ...@@ -117,20 +139,7 @@ class Main extends Common
while (false !== ($entry = $d->read())) while (false !== ($entry = $d->read()))
{ {
if ($entry == "." || $entry == "..") continue; if ($entry == "." || $entry == "..") continue;
copy("$from/$entry", "$to/a$unic-$entry");
if ($pairs) {
$pair_num = '';
foreach ($pairs as $pair => $pair_files) {
if (in_array($entry, $pair_files)) {
$pair_num = $pair.'-';
break;
}
}
copy("$from/$entry", "$to/$pair_num$entry");
} else {
copy("$from/$entry", "$to/$entry");
}
} }
$d->close(); $d->close();
...@@ -149,7 +158,6 @@ class Main extends Common ...@@ -149,7 +158,6 @@ class Main extends Common
chdir('..'); chdir('..');
$resp = [ $resp = [
'result' => true, 'result' => true,
'folders' => $folders_list, 'folders' => $folders_list,
...@@ -203,6 +211,14 @@ class Main extends Common ...@@ -203,6 +211,14 @@ class Main extends Common
if ($data['type'] == 'new') $folder = 'fotos'; if ($data['type'] == 'new') $folder = 'fotos';
if ($data['type'] == 'arch') $folder = 'fotos-arch'; if ($data['type'] == 'arch') $folder = 'fotos-arch';
if ($data['type'] == 'arch') {
chdir('public/');
$file_name = "fotos.dat";
$archive_data = json_decode(file_get_contents($file_name), true);
chdir('..');
}
chdir("public/$folder"); chdir("public/$folder");
$dir = getcwd(); $dir = getcwd();
chdir('../..'); chdir('../..');
...@@ -214,7 +230,13 @@ class Main extends Common ...@@ -214,7 +230,13 @@ class Main extends Common
} }
} }
$response = new JsonResponse($folders);
$resp = [
'folders' => $folders,
'archive' => $archive_data
];
$response = new JsonResponse($resp);
} else { } else {
$data = [ $data = [
'result' => false, 'result' => false,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment