*/ protected $record_buffer_size; /** * Return about text * * @return */ public function help() { return( _("task::subdef:creation des sous definitions des documents d'origine") ); } /** * Returns task name * * @return string */ public function getName() { return(_('task::subdef:creation des sous definitions')); } /** * * generates le code js de l'interface 'graphic view' * */ public function printInterfaceJS() { ?>

 : 

'); ?>

    Mo
get_connection(); $sql = 'SELECT coll_id, record_id FROM record WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0 ORDER BY record_id DESC LIMIT 0, 20'; $stmt = $connbas->prepare($sql); $stmt->execute(); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); return $rs; } public function processOneContent(databox $databox, Array $row) { $record_id = $row['record_id']; $this->log(sprintf( "Generate subdefs for : sbas_id %s / record %s " , $this->sbas_id, $record_id)); try { $record = new record_adapter($this->sbas_id, $record_id); $record->generate_subdefs($databox, $this->logger); } catch (\Exception $e) { $this->log( sprintf( 'Generate failed for record %d on databox %s (%s)', $record_id, $record->get_databox()->get_viewname(), $e->getMessage() ) ); } $this->recs_to_write[] = $record->get_record_id(); if (count($this->recs_to_write) >= $this->record_buffer_size) { $this->flushRecordsSbas(); } unset($record); return $this; } protected function postProcessOneContent(databox $databox, Array $row) { $connbas = $databox->get_connection(); $sql = 'UPDATE record SET jeton=(jeton & ~' . JETON_MAKE_SUBDEF . '), moddate=NOW() WHERE record_id=:record_id'; $stmt = $connbas->prepare($sql); $stmt->execute(array(':record_id' => $row['record_id'])); $stmt->closeCursor(); return $this; } protected function flushRecordsSbas() { $sql = implode(', ', $this->recs_to_write); if ($sql != '') { $this->log(sprintf( 'setting %d record(s) to subdef meta writing' , count($this->recs_to_write) )); try { $connbas = connection::getPDOConnection($this->sbas_id); $sql = 'UPDATE record SET status=(status & ~0x03), jeton=(jeton | ' . JETON_WRITE_META_SUBDEF . ') WHERE record_id IN (' . $sql . ')'; $stmt = $connbas->prepare($sql); $stmt->execute(); $stmt->closeCursor(); } catch (Exception $e) { $this->log($e->getMessage()); } } $this->recs_to_write = array(); return $this; } }