mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 13:33:14 +00:00
Refactor caption_field
This commit is contained in:
@@ -87,7 +87,7 @@ class Edit extends RecordHelper
|
||||
|
||||
if ($this->is_single_grouping())
|
||||
{
|
||||
$record = array_pop($this->selection->get_elements());
|
||||
$record = array_pop($this->selection->get_elements());
|
||||
$children = $record->get_children();
|
||||
foreach ($children as $child)
|
||||
{
|
||||
@@ -100,9 +100,9 @@ class Edit extends RecordHelper
|
||||
if ($this->is_possible())
|
||||
{
|
||||
$this->generate_javascript_fields()
|
||||
->generate_javascript_sugg_values()
|
||||
->generate_javascript_status()
|
||||
->generate_javascript_elements();
|
||||
->generate_javascript_sugg_values()
|
||||
->generate_javascript_status()
|
||||
->generate_javascript_elements();
|
||||
}
|
||||
|
||||
return $this;
|
||||
@@ -203,12 +203,12 @@ class Edit extends RecordHelper
|
||||
|
||||
foreach ($this->selection as $record)
|
||||
{
|
||||
$indice = $record->get_number();
|
||||
$indice = $record->get_number();
|
||||
$_lst[$indice] = array(
|
||||
'bid' => $record->get_base_id(),
|
||||
'rid' => $record->get_record_id(),
|
||||
'sselcont_id' => null,
|
||||
'_selected' => false
|
||||
'bid' => $record->get_base_id(),
|
||||
'rid' => $record->get_record_id(),
|
||||
'sselcont_id' => null,
|
||||
'_selected' => false
|
||||
);
|
||||
|
||||
$_lst[$indice]['statbits'] = array();
|
||||
@@ -216,12 +216,12 @@ class Edit extends RecordHelper
|
||||
{
|
||||
foreach ($this->javascript_status as $n => $s)
|
||||
{
|
||||
$tmp_val = substr(strrev($record->get_status()), $n, 1);
|
||||
$tmp_val = substr(strrev($record->get_status()), $n, 1);
|
||||
$_lst[$indice]['statbits'][$n]['value'] = ($tmp_val == '1') ? '1' : '0';
|
||||
$_lst[$indice]['statbits'][$n]['dirty'] = false;
|
||||
}
|
||||
}
|
||||
$_lst[$indice]['fields'] = array();
|
||||
$_lst[$indice]['fields'] = array();
|
||||
$_lst[$indice]['originalname'] = '';
|
||||
|
||||
$_lst[$indice]['originalname'] = $record->get_original_name();
|
||||
@@ -234,23 +234,32 @@ class Edit extends RecordHelper
|
||||
continue;
|
||||
}
|
||||
|
||||
$values = array();
|
||||
foreach ($field->get_values() as $value)
|
||||
{
|
||||
$values[$value->getId()] = array(
|
||||
'meta_id' => $value->getId(),
|
||||
'value' => $value->getValue()
|
||||
);
|
||||
}
|
||||
|
||||
$_lst[$indice]['fields'][$meta_struct_id] = array(
|
||||
'dirty' => false,
|
||||
'meta_id' => $field->get_meta_id(),
|
||||
'meta_struct_id' => $meta_struct_id,
|
||||
'value' => $field->get_value()
|
||||
'dirty' => false,
|
||||
// 'meta_id' => $field->get_meta_id(),
|
||||
'meta_struct_id' => $meta_struct_id,
|
||||
'values' => $values
|
||||
);
|
||||
}
|
||||
|
||||
$_lst[$indice]['subdefs'] = array('thumbnail' => null, 'preview' => null);
|
||||
$_lst[$indice]['subdefs'] = array('thumbnail' => null, 'preview' => null);
|
||||
|
||||
$thumbnail = $record->get_thumbnail();
|
||||
|
||||
|
||||
$_lst[$indice]['subdefs']['thumbnail'] = array(
|
||||
'url' => $thumbnail->get_url()
|
||||
, 'w' => $thumbnail->get_width()
|
||||
, 'h' => $thumbnail->get_height()
|
||||
'url' => $thumbnail->get_url()
|
||||
, 'w' => $thumbnail->get_width()
|
||||
, 'h' => $thumbnail->get_height()
|
||||
);
|
||||
|
||||
$_lst[$indice]['preview'] = $twig->render('common/preview.html', array('record' => $record));
|
||||
@@ -283,9 +292,9 @@ class Edit extends RecordHelper
|
||||
foreach ($this->selection as $record)
|
||||
{
|
||||
/* @var $record record_adapter */
|
||||
$base_id = $record->get_base_id();
|
||||
$base_id = $record->get_base_id();
|
||||
$record_id = $record->get_record_id();
|
||||
$databox = $record->get_databox();
|
||||
$databox = $record->get_databox();
|
||||
|
||||
if (isset($done[$base_id]))
|
||||
continue;
|
||||
@@ -313,12 +322,12 @@ class Edit extends RecordHelper
|
||||
foreach ($vi->value as $oneValue) // les valeurs sug
|
||||
{
|
||||
$T_sgval['b' . $base_id][$field->get_id()][] =
|
||||
(string) $oneValue;
|
||||
(string) $oneValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($collection);
|
||||
$done[$base_id] = true;
|
||||
$done[$base_id] = true;
|
||||
}
|
||||
$this->javascript_sugg_values = $T_sgval;
|
||||
|
||||
@@ -343,11 +352,11 @@ class Edit extends RecordHelper
|
||||
foreach ($status[$this->get_sbas_id()] as $n => $statbit)
|
||||
{
|
||||
$_tstatbits[$n] = array();
|
||||
$_tstatbits[$n]['label0'] = $statbit['labeloff'];
|
||||
$_tstatbits[$n]['label1'] = $statbit['labelon'];
|
||||
$_tstatbits[$n]['label0'] = $statbit['labeloff'];
|
||||
$_tstatbits[$n]['label1'] = $statbit['labelon'];
|
||||
$_tstatbits[$n]['img_off'] = $statbit['img_off'];
|
||||
$_tstatbits[$n]['img_on'] = $statbit['img_on'];
|
||||
$_tstatbits[$n]['_value'] = 0;
|
||||
$_tstatbits[$n]['img_on'] = $statbit['img_on'];
|
||||
$_tstatbits[$n]['_value'] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,11 +373,11 @@ class Edit extends RecordHelper
|
||||
*/
|
||||
protected function generate_javascript_fields()
|
||||
{
|
||||
$_tfields = $fields = array();
|
||||
$_tfields = $fields = array();
|
||||
|
||||
$this->has_thesaurus = false;
|
||||
|
||||
$databox = \databox::get_instance($this->get_sbas_id());
|
||||
$databox = \databox::get_instance($this->get_sbas_id());
|
||||
$meta_struct = $databox->get_meta_structure();
|
||||
|
||||
foreach ($meta_struct as $meta)
|
||||
@@ -389,19 +398,19 @@ class Edit extends RecordHelper
|
||||
switch ($meta->get_type())
|
||||
{
|
||||
case 'datetime':
|
||||
$format = _('phraseanet::technique::datetime-edit-format');
|
||||
$format = _('phraseanet::technique::datetime-edit-format');
|
||||
$explain = _('phraseanet::technique::datetime-edit-explain');
|
||||
break;
|
||||
case 'date':
|
||||
$format = _('phraseanet::technique::date-edit-format');
|
||||
$format = _('phraseanet::technique::date-edit-format');
|
||||
$explain = _('phraseanet::technique::date-edit-explain');
|
||||
break;
|
||||
case 'time':
|
||||
$format = _('phraseanet::technique::time-edit-format');
|
||||
$format = _('phraseanet::technique::time-edit-format');
|
||||
$explain = _('phraseanet::technique::time-edit-explain');
|
||||
break;
|
||||
default:
|
||||
$format = $explain = "";
|
||||
$format = $explain = "";
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -411,22 +420,22 @@ class Edit extends RecordHelper
|
||||
$separator = $meta->get_separator();
|
||||
|
||||
$datas = array(
|
||||
'meta_struct_id' => $meta->get_id()
|
||||
, 'name' => $meta->get_name()
|
||||
, '_status' => 0
|
||||
, '_value' => ''
|
||||
, '_sgval' => array()
|
||||
, 'required' => $meta->is_required()
|
||||
, 'readonly' => $meta->is_readonly()
|
||||
, 'type' => $meta->get_type()
|
||||
, 'format' => $format
|
||||
, 'explain' => $explain
|
||||
, 'tbranch' => $meta->get_tbranch()
|
||||
, 'maxLength' => $meta->get_source()->maxlength()
|
||||
, 'minLength' => $meta->get_source()->minLength()
|
||||
, 'regfield' => $regfield
|
||||
, 'multi' => $meta->is_multi()
|
||||
, 'separator' => $separator
|
||||
'meta_struct_id' => $meta->get_id()
|
||||
, 'name' => $meta->get_name()
|
||||
, '_status' => 0
|
||||
, '_value' => ''
|
||||
, '_sgval' => array()
|
||||
, 'required' => $meta->is_required()
|
||||
, 'readonly' => $meta->is_readonly()
|
||||
, 'type' => $meta->get_type()
|
||||
, 'format' => $format
|
||||
, 'explain' => $explain
|
||||
, 'tbranch' => $meta->get_tbranch()
|
||||
, 'maxLength' => $meta->get_source()->maxlength()
|
||||
, 'minLength' => $meta->get_source()->minLength()
|
||||
, 'regfield' => $regfield
|
||||
, 'multi' => $meta->is_multi()
|
||||
, 'separator' => $separator
|
||||
);
|
||||
|
||||
if (trim($meta->get_tbranch()) !== '')
|
||||
@@ -448,7 +457,7 @@ class Edit extends RecordHelper
|
||||
{
|
||||
try
|
||||
{
|
||||
$reg_record = $this->get_grouping_head();
|
||||
$reg_record = $this->get_grouping_head();
|
||||
$reg_sbas_id = $reg_record->get_sbas_id();
|
||||
|
||||
$newsubdef_reg = new record_adapter($reg_sbas_id, $request->get('newrepresent'));
|
||||
@@ -458,7 +467,7 @@ class Edit extends RecordHelper
|
||||
|
||||
foreach ($newsubdef_reg->get_subdefs() as $name => $value)
|
||||
{
|
||||
$pathfile = $value->get_pathfile();
|
||||
$pathfile = $value->get_pathfile();
|
||||
$system_file = new system_file($pathfile);
|
||||
$reg_record->substitute_subdef($name, $system_file);
|
||||
}
|
||||
@@ -472,11 +481,11 @@ class Edit extends RecordHelper
|
||||
if (!is_array($request->get('mds')))
|
||||
return $this;
|
||||
|
||||
$sbas_id = (int) $request->get('sbid');
|
||||
$databox = \databox::get_instance($sbas_id);
|
||||
$meta_struct = $databox->get_meta_structure();
|
||||
$sbas_id = (int) $request->get('sbid');
|
||||
$databox = \databox::get_instance($sbas_id);
|
||||
$meta_struct = $databox->get_meta_structure();
|
||||
$write_edit_el = false;
|
||||
$date_obj = new DateTime();
|
||||
$date_obj = new DateTime();
|
||||
foreach ($meta_struct->get_elements() as $meta_struct_el)
|
||||
{
|
||||
if ($meta_struct_el->get_metadata_namespace() == "PHRASEANET" && $meta_struct_el->get_metadata_tagname() == 'tf-editdate')
|
||||
@@ -502,7 +511,7 @@ class Edit extends RecordHelper
|
||||
if (!array_key_exists($key, $elements))
|
||||
continue;
|
||||
|
||||
$statbits = $rec['status'];
|
||||
$statbits = $rec['status'];
|
||||
$editDirty = $rec['edit'];
|
||||
|
||||
if ($editDirty == '0')
|
||||
@@ -515,28 +524,38 @@ class Edit extends RecordHelper
|
||||
$record->set_metadatas($rec['metadatas']);
|
||||
}
|
||||
|
||||
if ($write_edit_el instanceof \Acmedatabox_field)
|
||||
/**
|
||||
*todo : this should not work
|
||||
*/
|
||||
if ($write_edit_el instanceof \databox_field)
|
||||
{
|
||||
$fields = $record->get_caption()->get_fields(array($write_edit_el->get_name()));
|
||||
$field = array_pop($fields);
|
||||
|
||||
$meta_id = null;
|
||||
|
||||
if($field && !$field->is_multi())
|
||||
{
|
||||
$meta_id = array_pop($field->get_values())->getId();
|
||||
}
|
||||
|
||||
$metas = array(
|
||||
array(
|
||||
'meta_struct_id' => $write_edit_el->get_id()
|
||||
, 'meta_id' => ($field ? $field->get_meta_id() : null)
|
||||
, 'value' => array($date_obj->format('Y-m-d h:i:s'))
|
||||
)
|
||||
array(
|
||||
'meta_struct_id' => $write_edit_el->get_id()
|
||||
, 'meta_id' => $meta_id
|
||||
, 'value' => array($date_obj->format('Y-m-d h:i:s'))
|
||||
)
|
||||
);
|
||||
|
||||
$record->set_metadatas($metas);
|
||||
}
|
||||
|
||||
$newstat = $record->get_status();
|
||||
$newstat = $record->get_status();
|
||||
$statbits = ltrim($statbits, 'x');
|
||||
if (!in_array($statbits, array('', 'null')))
|
||||
{
|
||||
$mask_and = ltrim(str_replace(
|
||||
array('x', '0', '1', 'z'), array('1', 'z', '0', '1'), $statbits), '0');
|
||||
array('x', '0', '1', 'z'), array('1', 'z', '0', '1'), $statbits), '0');
|
||||
if ($mask_and != '')
|
||||
$newstat = \databox_status::operation_and_not($newstat, $mask_and);
|
||||
|
||||
@@ -553,14 +572,14 @@ class Edit extends RecordHelper
|
||||
if ($statbits != '')
|
||||
{
|
||||
$appbox->get_session()
|
||||
->get_logger($record->get_databox())
|
||||
->log($record, Session_Logger::EVENT_STATUS, '', '');
|
||||
->get_logger($record->get_databox())
|
||||
->log($record, Session_Logger::EVENT_STATUS, '', '');
|
||||
}
|
||||
if ($editDirty)
|
||||
{
|
||||
$appbox->get_session()
|
||||
->get_logger($record->get_databox())
|
||||
->log($record, Session_Logger::EVENT_EDIT, '', '');
|
||||
->get_logger($record->get_databox())
|
||||
->log($record, Session_Logger::EVENT_EDIT, '', '');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user