Exemple #1
0
 protected function retrieve_fields()
 {
     if (is_array($this->fields)) {
         return $this->fields;
     }
     $fields = [];
     try {
         $fields = $this->get_data_from_cache();
     } catch (\Exception $e) {
         $sql = "SELECT m.id as meta_id, s.id as structure_id\n          FROM metadatas m, metadatas_structure s\n          WHERE m.record_id = :record_id AND s.id = m.meta_struct_id\n            ORDER BY s.sorter ASC";
         $stmt = $this->databox->get_connection()->prepare($sql);
         $stmt->execute([':record_id' => $this->record->get_record_id()]);
         $fields = $stmt->fetchAll(PDO::FETCH_ASSOC);
         $stmt->closeCursor();
         $this->set_data_to_cache($fields);
     }
     $rec_fields = [];
     foreach ($fields as $row) {
         $databox_meta_struct = databox_field::get_instance($this->app, $this->databox, $row['structure_id']);
         $metadata = new caption_field($this->app, $databox_meta_struct, $this->record);
         $rec_fields[$databox_meta_struct->get_id()] = $metadata;
     }
     $this->fields = $rec_fields;
     return $this->fields;
 }
Exemple #2
0
 protected function get_metadatas_ids()
 {
     try {
         return $this->get_data_from_cache();
     } catch (\Exception $e) {
     }
     $connbas = $this->databox_field->get_connection();
     $sql = 'SELECT id FROM metadatas
             WHERE record_id = :record_id
               AND meta_struct_id = :meta_struct_id';
     $params = [':record_id' => $this->record->get_record_id(), ':meta_struct_id' => $this->databox_field->get_id()];
     $stmt = $connbas->prepare($sql);
     $stmt->execute($params);
     $ids = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $stmt->closeCursor();
     $this->set_data_to_cache($ids);
     return $ids;
 }