Refactor caption_field

This commit is contained in:
Romain Neutron
2012-01-18 14:20:05 +01:00
parent 98c8e867f0
commit c6ea536ab6

View File

@@ -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, '', '');
}
}