/** * Segmente le document numérique et stocke le résultat en base de données */ public function diarize() { // On commence par supprimer $query = "delete from explnum_segments where explnum_segment_explnum_num = " . $this->explnum->explnum_id; mysql_query($query); $query = "delete from explnum_speakers where explnum_speaker_explnum_num = " . $this->explnum->explnum_id; mysql_query($query); // Gestion de la progress_bar $progress_bar = new progress_bar("upload to server"); $progress_bar->set_percent(0); $this->speechFile = $this->diarization->sendFile($this->getFile()); // $this->speechFile = $this->diarization->getFile(67); $status = $this->speechFile->getStatus(); while ($status != "diarization_phase7") { if ($status == "uploaded") { $progress_bar->set_percent(round(1 / 8 * 100)); } else { $nb = str_replace("diarization_phase", "", $status); $progress_bar->set_percent(round(($nb + 1) / 8 * 100)); } $progress_bar->set_text($status); $status = $this->speechFile->getStatus(); sleep(0.5); } sleep(10); $progress_bar->hide(); $speakers = $this->speechFile->getSpeakers(); $speakers_ids = array(); // Tableau associant l'identifiant du speaker avec son identifiant dans la table foreach ($speakers as $speaker) { $query = "insert into explnum_speakers (explnum_speaker_explnum_num, explnum_speaker_speaker_num, explnum_speaker_gender) values (" . $this->explnum->explnum_id . ", '" . $speaker->getID() . "', '" . $speaker->getGender() . "')"; mysql_query($query); $speakers_ids[$speaker->getID()] = mysql_insert_id(); } $segments = $this->speechFile->getSegments(); foreach ($segments as $segment) { $query = "insert into explnum_segments (explnum_segment_explnum_num, explnum_segment_speaker_num, explnum_segment_start, explnum_segment_duration, explnum_segment_end) values (" . $this->explnum->explnum_id . ", '" . $speakers_ids[$segment->getSpeaker()->getID()] . "', " . $segment->getStart() . ", " . $segment->getDuration() . ", " . $segment->getEnd() . ")"; mysql_query($query); } }
$cad = new caddie($idcaddienot); $liencad = " <a href=\"./catalog.php?categ=caddie&sub=gestion&quoi=panier&action=&object_type=NOTI&idcaddie={$idcaddienot}\">" . $cad->name . "</a>"; } else { $liencad = ""; } echo "<div class='row'><hr /></div><div class='row'><label class='etiquette' >" . $msg['chklnk_verifnoti'] . "</label>" . $liencad . "</div>\n\t\t\t<div class='row'>"; $q = implode($req_notice, " union "); $r = pmb_mysql_query($q); if ($r) { $rc = pmb_mysql_num_rows($r); } else { $rc = 0; } $pb->count = $rc; $pb->nb_progress_call = 0; $pb->set_text($msg['chklnk_verif_notice']); flush(); if ($r) { while ($o = pmb_mysql_fetch_object($r)) { $response = $curl->get($o->lien); if (!$response) { echo "<div class='row'><a href=\"./catalog.php?categ=isbd&id=" . $o->notice_id . "\">" . $o->tit1 . "</a> <a href=\"" . $o->lien . "\">" . $o->lien . "</a> <span class='erreur'>" . $curl->error . "</span></div>"; if ($ajtnoti) { $cad->add_item($o->notice_id, 'NOTI'); } } elseif ($response->headers['Status-Code'] != '200') { if ($response->headers['Status-Code']) { $tmp = $curl->reponsecurl[$response->headers['Status-Code']]; } else { $tmp = $msg["curl_no_status_code"]; }