| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090 |
- <?php
- // Recherche Utilisateur inscrit , Enregistrement Nouveau Patient ,INscription d'un praticien
- require_once('vo/com/imt/intimamedia/vo/UserVo.php');
- require_once('vo/com/imt/intimamedia/vo/PersonVo.php');
- require_once('vo/com/imt/intimamedia/vo/PatientVo.php');
- require_once('vo/com/imt/intimamedia/vo/HospitalVo.php');
- require_once('vo/com/imt/intimamedia/vo/UltraSoundScannerVo.php');
- require_once('vo/com/imt/intimamedia/vo/ProbeVo.php');
- require_once('vo/com/imt/intimamedia/vo/MailVo.php');
- require_once('vo/com/imt/intimamedia/vo/TermsVo.php');
- require_once('vo/com/imt/intimamedia/vo/MessageVo.php');
- require_once('vo/com/imt/intimamedia/vo/AppointmentVo.php');
- require_once('vo/com/imt/intimamedia/vo/TobaccoVo.php');
- require_once('vo/com/imt/intimamedia/vo/AtsVo.php');
- require_once('vo/com/imt/intimamedia/vo/ReturnObjectVo.php');
- require_once('vo/com/imt/intimamedia/vo/PersonalHistoryVo.php');
- require_once('vo/com/imt/intimamedia/vo/FamilyHistoryVo.php');
- require_once('vo/com/imt/intimamedia/vo/CvExaminatorVo.php');
- require_once('vo/com/imt/intimamedia/vo/TreatmentVo.php');
- require_once('common/SQLServerManager.php');
- require_once('common/SecurityManager.php');
- require_once('common/PhpMail.php');
- require_once('PatientService.php');
- require_once('AcquisitionService.php');
- require_once('MeasureService.php');
- require('sendgrid-php/sendgrid-php.php');
- define ('INTIMAMEDIA_APPLICATION', 'INTIMA');
- define ('EXAMPLE_PATIENT_FILE_UID_1', 'by3xs8kXHn');
- define ('EXAMPLE_PATIENT_FILE_ORGANIZATION_1', 158);
- class UserService
- {
- public function login(UserVo $user)
- {
- // search user= Recherche utilisateur
- $query = "SELECT DISTINCT u.*
- FROM [evolucare].[dbo].[tj_user] as u
- INNER JOIN [evolucare].[dbo].[tj_registration] as r ON u.id = r.fk_user
- INNER JOIN [evolucare].[dbo].[tr_application] as a ON r.fk_application = (SELECT id FROM [evolucare].[dbo].[tr_application] WHERE code = '".$user->application."')
- AND u.login = '".$user->login."' AND u.pass_print = '".$user->password."'";
- $results = SQLServerManager::queryOnDatabase( $query );
- if( count($results) != 1 )
- Throw new Exception("E003");
-
- foreach( $results as $value )
- {
- if ($value->last_connection == NULL)
- Throw new Exception("E005");
-
- $queryPerson = "SELECT * FROM [evolucare].[dbo].[t_person] WHERE id = '". $value->fk_person ."'";
- $resultsPerson = SQLServerManager::queryOnDatabase( $queryPerson );
-
- $personVo = new PersonVo();
-
- foreach( $resultsPerson as $valuePerson )
- {
- $personVo->id = $valuePerson->id;
- $personVo->uid = trim( $valuePerson->uid );
- $personVo->firstName = trim( $valuePerson->first_name );
- $personVo->lastName = trim( $valuePerson->last_name );
- $personVo->creation = $valuePerson->creation->format('Y-m-d');
- $personVo->phone = trim( $valuePerson->phone );
- $personVo->fax = trim( $valuePerson->fax );
- $personVo->activity = trim( $valuePerson->activity );
- $personVo->cellular = trim( $valuePerson->cellular );
- $personVo->mail = trim( $valuePerson->mail );
- $personVo->organization = $valuePerson->fk_organization;
- }
- // Nouvel utilisateur
- $userVo = new UserVo();
-
- $userVo->login = trim( $value->login );
- $userVo->person = $personVo;
- $userVo->id = $value->id;
- $userVo->uid = $value->uid;
- $userVo->help = ($value->help == 1)? true : false;
- $userVo->cptCredits = ($value->nbCredits);
- $userVo->cptMesures = ($value->nbMesures);
-
- $query = "SELECT * FROM [evolucare].[dbo].[t_organization] WHERE id = '". $valuePerson->fk_organization ."'";
- $resultsOrganization = SQLServerManager::queryOnDatabase( $query );
-
- $hospitalVo = new HospitalVo();
- foreach( $resultsOrganization as $valueOrganization )
- {
- $hospitalVo->id = $valueOrganization->id;
- $hospitalVo->name = trim($valueOrganization->name);
- $hospitalVo->addressInvoicing = trim($valueOrganization->address_invoicing);
- $hospitalVo->addressShipping = trim($valueOrganization->address_shipping);
- $hospitalVo->city = trim($valueOrganization->city);
- $hospitalVo->zipCode = trim($valueOrganization->zip_code);
- $hospitalVo->phone = trim($valueOrganization->phone);
- $hospitalVo->fax = trim($valueOrganization->fax);
- $hospitalVo->county = trim($valueOrganization->county);
- $hospitalVo->district = trim($valueOrganization->district);
- $hospitalVo->country = $valueOrganization->fk_country;
-
- $userVo->hospital = $hospitalVo;
- }
- // Choix de la langue
- $queryLanguage = "SELECT label
- FROM [evolucare].[dbo].[tr_language]
- WHERE id = '". $value->fk_language ."'";
-
- $resultLanguage = SQLServerManager::queryOnDatabase( $queryLanguage );
-
- foreach( $resultLanguage as $valueLanguage )
- {
- $userVo->language = trim($valueLanguage->label);
- }
- // Conditions générales de vente
- $query = "SELECT fk_cgv
- FROM [evolucare].[dbo].[tj_list_cgv]
- WHERE fk_user = '". $userVo->id ."'";
-
- $resultsConditions = SQLServerManager::queryOnDatabase( $query );
-
- foreach( $resultsConditions as $valueConditions )
- {
- $userVo->conditions = $valueConditions->fk_cgv;
- }
- // Questions matériel échographique
- $query = "SELECT fk_ultra_sound_scanner
- FROM [evolucare].[dbo].[tj_facilities]
- WHERE fk_organization = '". $valuePerson->fk_organization ."'";
-
- $resultsScanner = SQLServerManager::queryOnDatabase( $query );
-
- if( count($resultsScanner) > 0 )
- {
- foreach( $resultsScanner as $valueScanner )
- {
- $query = "SELECT u.id as scanner_id, u.name, u.brand, u.type, u.age, p.id as probe_id, p.frequency
- FROM [intimamedia_physician].[dbo].[tj_list_probe] as l
- INNER JOIN [intimamedia_physician].[dbo].[t_ultra_sound_scanner] as u ON u.id = l.fk_ultra_sound_scanner
- INNER JOIN [intimamedia_physician].[dbo].[t_probe] as p ON p.id = l.fk_probe
- WHERE l.fk_ultra_sound_scanner = '".$valueScanner->fk_ultra_sound_scanner."'";
-
- $r = SQLServerManager::queryOnDatabase( $query );
- $ultraSoundScannerVo = new UltraSoundScannerVo();
- $probeVo = new ProbeVo();
- foreach ( $r as $v )
- {
- $ultraSoundScannerVo->id = $v->scanner_id;
- $ultraSoundScannerVo->name = trim($v->name);
- $ultraSoundScannerVo->brand = trim($v->brand);
- $ultraSoundScannerVo->type = trim($v->type);
- $ultraSoundScannerVo->age = $v->age;
-
- $probeVo->id = $v->probe_id;
- $probeVo->frequency = $v->frequency;
-
- $userVo->ultraSoundScanner = $ultraSoundScannerVo;
- $userVo->probe = $probeVo;
- }
- }
- }
- }
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $userVo;
-
- return $returnObjectVo;
- }
- // Mot de passe oublié
- public function forgetPassword(UserVo $user, $application)
- {
- // search user
- $query = "SELECT u.login, u.answer_one, u.answer_two, u.buyer, u.fk_question_one, u.fk_question_two
- FROM [evolucare].[dbo].[tj_user] as u
- INNER JOIN [evolucare].[dbo].[tj_registration] as r ON u.id = r.fk_user
- INNER JOIN [evolucare].[dbo].[tr_application] as a ON r.fk_application = (SELECT id FROM [evolucare].[dbo].[tr_application] WHERE code = '".$application."')
- AND u.login = '".$user->login."'";
-
- $results = SQLServerManager::queryOnDatabase( $query );
-
- if( count($results) != 1 )
- {
- Throw new Exception("E003");
- }
-
- $userVo = new UserVo();
-
- foreach( $results as $value )
- {
- $userVo->login = trim( $value->login );
- $userVo->buyer = trim( $value->buyer );
- $userVo->questionOne = trim( $value->fk_question_one );
- $userVo->questionTwo = trim( $value->fk_question_two );
- $userVo->answerOne = trim( $value->answer_one );
- $userVo->answerTwo = trim( $value->answer_two );
- }
-
- return $userVo;
- }
-
- public function post(MessageVo $messageVo)
- {
- $subject = "[" . utf8_decode($messageVo->organization) . "]". " Demande de contact de " . utf8_decode($messageVo->lastname) . " " . utf8_decode($messageVo->firstname);
-
- $body = "<html>Bonjour,<br><br>Vous venez de recevoir une demande via le formulaire de contact.<br /><br />".
- "Pr�nom : ". utf8_decode($messageVo->firstname) ."<br />".
- "Nom : ". utf8_decode($messageVo->lastname) ."<br />".
- ($messageVo->phone ? "T�l�phone : ". $messageVo->phone ."<br />" : "").
- "Mail : ". $messageVo->mail ."<br /><br />".
- "Organisation : <b>". utf8_decode($messageVo->organization) ."</b><br /><br />".
- "<u>Message</u> : <br /><br />\"". utf8_decode(nl2br($messageVo->message)) ."\"<br /><br />IIMT Support.".
- "</html>";
-
- $sguser = 'support@iimt.fr';
- $sgpass = 'Marignan;/8';
- $sendgrid = new SendGrid($sguser, $sgpass);
- $email = new SendGrid\Email();
- $email
- ->addTo('support@intimamedia.com')
- ->setFrom('support@iimt.fr')
- ->setSubject($subject)
- ->setText($subject)
- ->setHtml($body)
- ;
-
- try {
- $sendgrid->send($email);
- } catch(\SendGrid\Exception $e) {
- Throw new Exception("E002");
- // echo $e->getCode();
- // foreach($e->getErrors() as $er) {
- // echo $er;
- // }
- }
- /*
- if( !PhpMail::sendMail("support@intimamedia.com", $subject, $body) )
- {
- Throw new Exception("E002");
- }
- */
- }
-
- public function exportData(UserVo $userVo)
- {
- $subject = "Demande d'export de donn�es";
- $body = "<html>Bonjour,<br><br>Vous venez de recevoir une demande d'export de donn�es de l'utilisateur d'id " . $userVo->id . "<br /><br />IIMT Support.</html>";
-
- $sguser = 'support@iimt.fr';
- $sgpass = 'Marignan;/8';
- $sendgrid = new SendGrid($sguser, $sgpass);
- $email = new SendGrid\Email();
- $email
- ->addTo('support@intimamedia.com')
- ->setFrom('support@iimt.fr')
- ->setSubject($subject)
- ->setText($subject)
- ->setHtml($body)
- ;
-
- try {
- $sendgrid->send($email);
- } catch(\SendGrid\Exception $e) {
- Throw new Exception("E002");
- // echo $e->getCode();
- // foreach($e->getErrors() as $er) {
- // echo $er;
- // }
- }
- /* if( !PhpMail::sendMail("support@intimamedia.com", $subject, $body) )
- {
- Throw new Exception("E002");
- }
- */
- }
-
- public function validateAccount($userEncrypted, $passwordEncrypted)
- {
- if (!$userEncrypted || !$passwordEncrypted)
- {
- Throw new Exception("E006");
- }
-
- $key = "3HFdkfjdz*$)kn;!fdD1nsf~2@KL-{{";
- $userId = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode(rawurldecode($userEncrypted)), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
- $password = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode(rawurldecode($passwordEncrypted)), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
-
- /*$ff=fopen("tmp.jd", "a+");
- fprintf($ff, "activation, user=%s, password=%s\n", $user, $password);
- fclose($ff);*/
-
- $query = "SELECT id, last_connection FROM [evolucare].[dbo].[tj_user] WHERE id = '".$userId."' AND pass_print = '". $password ."';";
-
- $result = SQLServerManager::queryOnDatabase( $query );
-
- $idFound = 0;
- foreach( $result as $value )
- {
- $idFound = $value->id;
- $lastConnection = $value->last_connection;
- }
-
- if (!$idFound)
- {
- Throw new Exception("E006");
- }
-
- if ($lastConnection)
- {
- Throw new Exception("E025");
- }
-
- $now = date( "Y-m-d H:i:s" );
- $query = "UPDATE [evolucare].[dbo].[tj_user] SET last_connection = '". $now ."' WHERE id = '" . $userId . "'";
- $transaction = SQLServerManager::startTransaction();
- $executeQuery = SQLServerManager::executeQueryForTransaction( $query, $transaction );
- SQLServerManager::commitTransaction( $transaction );
-
- // last, create example patient file, for testing purpose
- $this->createIntimamediaExample($userId, EXAMPLE_PATIENT_FILE_UID_1, EXAMPLE_PATIENT_FILE_ORGANIZATION_1);
- //$this->createIntimamediaExample($userId, EXAMPLE_PATIENT_FILE_UID_2, EXAMPLE_PATIENT_FILE_ORGANIZATION_2);
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $userId;
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "validateAccount, userId=%d\n", $userId);
- fclose($ff);*/
-
- return $returnObjectVo;
- }
-
- public function register(UserVo $userVo, $lang)
- {
- error_log("UserService->register");
- $hospitalVo = $userVo->hospital;
- $personVo = $userVo->person;
- $ultraSoundScannerVo = $userVo->ultraSoundScanner;
- $probeVo = $ultraSoundScannerVo->probes[0];
-
- $userExist = "SELECT login FROM [evolucare].[dbo].[tj_user] WHERE login = '". $userVo->login ."'";
- $userExistResult = SQLServerManager::queryOnDatabase( $userExist );
-
- if ($userExistResult)
- {
- error_log("UserService->register User already exists.");
- Throw new Exception("E004");
- }
-
- $query = "SELECT id FROM [evolucare].[dbo].[tr_application] WHERE code = '". $userVo->application ."'";
- $results = SQLServerManager::queryOnDatabase( $query );
-
- foreach( $results as $value )
- {
- $application = $value->id;
- }
-
- //D�but de la transaction
- //A chaque �tape une requ�te est pr�par�e, elle est execut�e puis si besoin l'id de l'insertion est r�cup�r�.
- $transaction = SQLServerManager::startTransaction();
-
- //Insertion de l'echographe (�tape 1)
- $ultraSoundScanner = "INSERT INTO [intimamedia_physician].[dbo].[t_ultra_sound_scanner] (name, brand, type, age) VALUES ".
- "('".SQLServerManager::convertStringToSQLServer( $ultraSoundScannerVo->name )."', '".SQLServerManager::convertStringToSQLServer( $ultraSoundScannerVo->brand )."', '".SQLServerManager::convertStringToSQLServer( $ultraSoundScannerVo->type )."', '01-01-".$ultraSoundScannerVo->age."')";
-
- $validUltraSoundScanner = SQLServerManager::executeQueryForTransaction( $ultraSoundScanner, $transaction );
-
- $idUltraSoundScanner = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_ultra_sound_scanner]", $transaction );
-
- // Organization insertion (step 2)
- $organization = "INSERT INTO [evolucare].[dbo].[t_organization] (name, creation, address_invoicing, address_shipping, city, zip_code, phone, fax, state, county, disctrict, fk_country) VALUES ".
- "('".SQLServerManager::convertStringToSQLServer( $hospitalVo->name )."', '".date( "Y-m-d", $hospitalVo->creation/1000 )."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->addressInvoicing )."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->addressShipping )."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->city )."', ".
- "'".$hospitalVo->zipCode."', '".$hospitalVo->phone."', '".$hospitalVo->fax."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->state )."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->county )."', '".SQLServerManager::convertStringToSQLServer( $hospitalVo->district )."', '".
- $hospitalVo->country ."')";
- error_log($organization);
- $validOrganization = SQLServerManager::executeQueryForTransaction( $organization, $transaction );
-
- $idOrganization = SQLServerManager::getLastId( "[evolucare].[dbo].[t_organization]", $transaction );
-
- // Probe insertion (step 3)
- $probe = "INSERT INTO [intimamedia_physician].[dbo].[t_probe] (frequency) VALUES (".$probeVo->frequency.")";
-
- $validProbe = SQLServerManager::executeQueryForTransaction( $probe, $transaction );
-
- $idProbe = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_probe]", $transaction );
- // Probe and scanner association insertion (step 4)
- $joinListProbe = "INSERT INTO [intimamedia_physician].[dbo].[tj_list_probe] (fk_ultra_sound_scanner, fk_probe) VALUES (".$idUltraSoundScanner.", ".$idProbe.")";
- $validJoinListProbe = SQLServerManager::executeQueryForTransaction( $joinListProbe, $transaction );
-
- // Probe and organization association insertion (step 5)
- $joinListFacilities = "INSERT INTO [evolucare].[dbo].[tj_facilities] (date, fk_organization, fk_ultra_sound_scanner) VALUES ('".date( "Y-m-d" )."', ".$idOrganization.", ".$idUltraSoundScanner.")";
- $validJoinListFacilities = SQLServerManager::executeQueryForTransaction( $joinListFacilities, $transaction );
-
- // Person insertion (step 6)
- $person = "INSERT INTO [evolucare].[dbo].[t_person] (uid, first_name, last_name, creation, phone, fax, activity, cellular, mail, fk_organization)".
- "VALUES ('".$personVo->uid."', '".SQLServerManager::convertStringToSQLServer( $personVo->firstName )."', '".SQLServerManager::convertStringToSQLServer( $personVo->lastName )."', '".date( "Y-m-d", $personVo->creation/1000 )."',".
- "'".$personVo->phone."', '".$personVo->fax."', '".SQLServerManager::convertStringToSQLServer( $personVo->activity )."', '".$personVo->cellular."', '".$personVo->mail."',".
- "".$idOrganization.")";
- $validPerson = SQLServerManager::executeQueryForTransaction( $person, $transaction );
-
- $personId = SQLServerManager::getLastId( "[evolucare].[dbo].[t_person]", $transaction );
-
- //Etape interm�diaire pour l'insertion de l'utilisateur
- $queryLanguage = "SELECT fk_language FROM [evolucare].[dbo].[tr_country] WHERE alpha2 = '".$lang."'";
-
- $result = SQLServerManager::queryOnDatabase( $queryLanguage );
- $languageId = 1;
- foreach( $result as $value )
- {
- $languageId = $value->fk_language;
- }
- // User insertion (step 7)
- $user = "INSERT INTO [evolucare].[dbo].[tj_user] (login, pass_print, answer_one, answer_two, help, last_connection, buyer, fk_person, fk_question_one, fk_question_two, fk_preference, fk_language)".
- "VALUES ('".$userVo->login."', '".$userVo->password."', '".$userVo->answerOne."', '".$userVo->answerTwo."', ".$userVo->help.", NULL,".
- "'".$userVo->buyer."', ".$personId.", '".$userVo->questionOne."', '".$userVo->questionTwo."', NULL , '".$languageId."')";
-
- $validUser = SQLServerManager::executeQueryForTransaction( $user, $transaction );
-
- $userId = SQLServerManager::getLastId( "[evolucare].[dbo].[tj_user]", $transaction );
-
- // User and application association insertion (step 8)
- $registration = "INSERT INTO [evolucare].[dbo].[tj_registration] (fk_user, fk_application)".
- "VALUES (".$userId.", ".$application.")";
- $validRegistration = SQLServerManager::executeQueryForTransaction( $registration, $transaction );
-
- // User and sales conditions association insertion (step 9)
- $termsId = $userVo->conditions;
- $terms = "INSERT INTO [evolucare].[dbo].[tj_list_cgv] (date, fk_user, fk_cgv)".
- "VALUES (". date( "Y-m-d" ) . ", ".$userId.", ".$termsId.")";
-
- $validTerms = SQLServerManager::executeQueryForTransaction( $terms, $transaction );
-
- if( $validUltraSoundScanner && $validOrganization && $validProbe && $validJoinListProbe && $validJoinListFacilities && $validPerson && $validUser && $validRegistration && $validTerms)
- {
- SQLServerManager::commitTransaction( $transaction );
-
- $subject = "Demande d'inscription IntimaMedia.com (Praticiens)";
-
- $body = "<html>Bonjour,<br><br>L'utilisateur ". $personVo->firstName ." ". $personVo->lastName ." a fait une demande d'inscription.<br>".
- "Voici ses coordonnées :<br><br>".
- "Prénom : ". $personVo->firstName ."<br>".
- "Nom : ". $personVo->lastName ."<br>".
- "Mail : ". $userVo->login ."<br>".
- "Téléphone : ". $personVo->phone ."<br>".
- "Fax : ". $personVo->fax ."<br>".
-
- "</html>";
-
- $sguser = 'support@iimt.fr';/*'support²ipsocloud.com'*/
- $sgpass = 'Marignan;/8';/*imtdev75015'*/
- $sendgrid = new SendGrid($sguser, $sgpass);
- $email = new SendGrid\Email();
- $email
- ->addTo('support@intimamedia.com')
- ->setFrom('support@iimt.fr')
- ->setSubject($subject)
- ->setText($subject)
- ->setHtml($body)
- ;
-
- try {
- $sendgrid->send($email);
- } catch(\SendGrid\Exception $e) {
- error_log("UserService->register Can't send email.");
- Throw new Exception("E002");
- // echo $e->getCode();
- // foreach($e->getErrors() as $er) {
- // echo $er;
- // }
- }
- /* if( !PhpMail::sendMail( "support@intimamedia.com", $subject, $body) )
- {
- Throw new Exception("E002");
- }
- */
- // send user confirmation = Confirmation par Email de l'inscription
-
- $key = "3HFdkfjdz*$)kn;!fdD1nsf~2@KL-{{";
- $userIdEncrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $userId, MCRYPT_MODE_CBC, md5(md5($key))));
- $pwdEncrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $userVo->password, MCRYPT_MODE_CBC, md5(md5($key))));
-
- if ($lang == 'FR')
- {
- $subject = "Votre demande d'inscription sur M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Bonjour,<br /><br />Vous avez fait une demande d'inscription sur M'AthCloud.<br />".
- "Afin de terminer la validation de votre compte, merci de cliquer sur le lien d'activation ci-dessous:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Activer votre compte M'AthCloud</a><br /><br />".
- "Ou vous pouvez copier/coller ce lien directement dans votre navigateur.<br /><br />".
- "Cordialement.<br /><br />IMT Support</BODY></HTML>";
- }
- else if ($lang == 'ES')
- {
- $subject = "Su aplicación en M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Hola,<br /><br />Usted ha hecho una solicitud de registro en M'AthCloud.<br />".
- "Para completar la validación de su cuenta, gracias clic en el enlace de activación a continuación:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Recibe en tu cuenta de M'AthCloud</a><br /><br />".
- "O usted puede copiar / pegar este enlace en su navegador.<br /><br />".
- "Cordialmente.<br /><br />IMT Soporte</BODY></HTML>";
- }
- else if ($lang == 'IT')
- {
- $subject = "L'applicazione su M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Ciao,<br /><br />Hai fatto una domanda di registrazione su M'AthCloud.<br />".
- "Per completare la convalida del tuo account, grazie clicca sul link di attivazione qui sotto:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Attiva il tuo account M'AthCloud</a><br /><br />".
- "In alternativa, è possibile copiare / incollare questo link direttamente nel browser.<br /><br />".
- "Cordialmente.<br /><br />Assistenza di IMT</BODY></HTML>";
- }
- else if ($lang == 'PT')
- {
- $subject = "Sua aplicação no M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Olá,<br /><br />Você fez um pedido de registo de M'AthCloud.<br />".
- "Para completar a validação de sua conta, agradecer você clicar no link de ativação abaixo:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Ative sua conta M'AthCloud</a><br /><br />".
- "Ou você pode copiar / colar este link diretamente em seu navegador.<br /><br />".
- "Cordialmente.<br /><br />Suporte do IMT</BODY></HTML>";
- }
- else if ($lang == 'DE')
- {
- $subject = "Uw aanvraag op M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Hallo,<br /><br />U heeft een aanvraag tot inschrijving op M'AthCloud.<br />".
- "Om de validatie van uw account te voltooien, dank u klikt op de activatie link te klikken:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Activeer je account M'AthCloud</a><br /><br />".
- "Of u kunt kopiëren / plakken deze link rechtstreeks in uw browser.<br /><br />".
- "Hartelijk.<br /><br />Ondersteuning IMT</BODY></HTML>";
- }
- else
- {
- $subject = "Account Activation For M'AthCloud";
- $body = "<HTML><HEAD></HEAD><BODY>Welcome to M'AthCloud.<br /><br />We have received and processed your registration request.<br />".
- "To activate your account, please click the link below:<br /><br />".
- "<a href=\"http://37.187.89.74?val1=" . rawurlencode($userIdEncrypted) . "&val2=" . rawurlencode($pwdEncrypted) . "\">Activate your M'Ath Cloud account</a><br /><br />".
- "Or you can copy and paste this link directly into your browser.<br /><br />".
- "Best regards,<br /><br />IMT Support</BODY></HTML>";
- }
- $sguser = 'support@iimt.fr';/*'support@ipsocloud.com'*/
- $sgpass = 'Marignan;/8';/*'imtdev75015'*/
- $sendgrid = new SendGrid($sguser, $sgpass);
- $email = new SendGrid\Email();
- $email
- ->addTo($userVo->login)
- ->setFrom('support@iimt.fr') // ou support@intimamedia.fr
- ->setSubject($subject)
- ->setText($subject)
- ->setHtml($body)
- ;
-
- try {
- $sendgrid->send($email);
- } catch(\SendGrid\Exception $e) {
- error_log("UserService->register Can't send email2.");
- Throw new Exception("E002");
- // echo $e->getCode();
- // foreach($e->getErrors() as $er) {
- // echo $er;
- // }
- }
- /* if( !PhpMail::sendMail($userVo->login, $subject, $body) )
- {
- Throw new Exception("E002");
- }
- */
- }
- else
- {
- SQLServerManager::rollBackTransaction( $transaction );
- if(!$validUltraSoundScanner) error_log("UserService->register Invalid ultrasound scanner informations.");
- if(!$validOrganization) error_log("UserService->register Invalid organization informations.");
- if(!$validProbe) error_log("UserService->register Invalid probe informations.");
- if(!$validJoinListProbe) error_log("UserService->register Invalid list probe informations.");
- if(!$validJoinListFacilities) error_log("UserService->register Invalid list facilities informations.");
- if(!$validPerson) error_log("UserService->register Invalid person informations.");
- if(!$validUser) error_log("UserService->register Invalid user informations.");
- if(!$validRegistration) error_log("UserService->register Invalid registration informations.");
- if(!$validTerms) error_log("UserService->register Invalid terms informations.");
- Throw new Exception("E001");
- }
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $userId;
-
- return $returnObjectVo;
-
- }
-
- public function userHelp($userId, $help)
- {
- if ($help == true)
- $help = 1;
- else
- $help = 0;
-
- $query = "UPDATE [evolucare].[dbo].[tj_user] set help='". $help ."'".
- " WHERE id = '".$userId."'";
-
- SQLServerManager::queryOnDatabase( $query );
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $userId;
-
- return $returnObjectVo;
- }
-
- public function updateUser(UserVo $userVo)
- {
- $hospitalVo = $userVo->hospital;
- $personVo = $userVo->person;
- $ultraSoundScannerVo = $userVo->ultraSoundScanner;
- $probeVo = $ultraSoundScannerVo->probes[0];
-
- $transaction = SQLServerManager::startTransaction();
- $organizationQuery = "UPDATE [evolucare].[dbo].[t_organization] SET name = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->name) ).
- "', address_invoicing = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->addressInvoicing) ).
- "', address_shipping = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->addressShipping) ).
- "', city = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->city) )."', zip_code = '".trim($hospitalVo->zipCode).
- "', phone = '".trim($hospitalVo->phone)."', fax = '".trim($hospitalVo->fax).
- "', state = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->state) ).
- "', county = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->county) ).
- "', disctrict = '".SQLServerManager::convertStringToSQLServer( trim($hospitalVo->district) )."', fk_country = '".$hospitalVo->country.
- "' WHERE id = '".$hospitalVo->id."'";
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "organizationQuery=%s\n", $organizationQuery);
- fclose($ff);*/
- $validOrganization = SQLServerManager::executeQueryForTransaction( $organizationQuery, $transaction );
-
- $personQuery = "UPDATE [evolucare].[dbo].[t_person] SET first_name = '".SQLServerManager::convertStringToSQLServer( trim($personVo->firstName) ).
- "', last_name = '".SQLServerManager::convertStringToSQLServer( trim($personVo->lastName) ).
- "', activity = '".SQLServerManager::convertStringToSQLServer( trim($personVo->activity) ).
- "', phone = '".SQLServerManager::convertStringToSQLServer( trim($personVo->phone) ).
- "', fax = '".SQLServerManager::convertStringToSQLServer( trim($personVo->fax) ).
- "' WHERE id = '" .$personVo->id. "'";
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "personQuery=%s\n", $personQuery);
- fclose($ff);*/
-
- $validPerson = SQLServerManager::executeQueryForTransaction( $personQuery, $transaction );
-
- $ultraSoundScannerQuery = "UPDATE [intimamedia_physician].[dbo].[t_ultra_sound_scanner] SET name = '".SQLServerManager::convertStringToSQLServer( trim($ultraSoundScannerVo->name) ).
- "', brand = '".SQLServerManager::convertStringToSQLServer( trim($ultraSoundScannerVo->brand) ).
- "', type = '".SQLServerManager::convertStringToSQLServer( trim($ultraSoundScannerVo->type) )."', age = '".$ultraSoundScannerVo->age.
- "' WHERE id = '" .$ultraSoundScannerVo->id. "'";
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "ultraSoundScannerQuery=%s\n", $ultraSoundScannerQuery);
- fclose($ff);*/
-
- $validUltraSoundScanner = SQLServerManager::executeQueryForTransaction( $ultraSoundScannerQuery, $transaction );
-
- $probeQuery = "UPDATE [intimamedia_physician].[dbo].[t_probe] SET frequency = '".$probeVo->frequency."' WHERE id = '".$probeVo->id."'";
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "validUltraSoundScanner=%s\n", $probeQuery);
- fclose($ff);*/
-
- $validProbe = SQLServerManager::executeQueryForTransaction( $probeQuery, $transaction );
-
- if( $validUltraSoundScanner && $validOrganization && $validProbe && $validPerson )
- {
- SQLServerManager::commitTransaction( $transaction );
- }
- else
- {
- SQLServerManager::rollBackTransaction( $transaction );
- Throw new Exception("E001");
- }
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $userVo->id;
-
- return $returnObjectVo;
- }
-
- public function findCitiesByZipCode($zipCode, $country)
- {
- $table = "evolucare.dbo.tr_zip_code_" . strtolower( $country );
- $query = "SELECT DISTINCT city FROM ". $table ." WHERE zip_code = '". $zipCode ."'";
- $results = SQLServerManager::queryOnDatabase( $query );
- $resultArray = array();
- foreach( $results as $value )
- {
- $city = trim( $value->city );
- $city = ucfirst( strtolower( $value->city ) );
-
- array_push( $resultArray, $city );
- }
-
- return $resultArray;
- }
-
- public function findZipCodesByCity($city, $country)
- {
- $table = "evolucare.dbo.tr_zip_code_" . strtolower( $country );
- $query = "SELECT DISTINCT zip_code FROM ". $table ." WHERE city LIKE '". $city ."%'";
- $results = SQLServerManager::queryOnDatabase( $query );
- $resultArray = array();
- foreach( $results as $value )
- {
- array_push( $resultArray, $value->zip_code );
- }
-
- return $resultArray;
- }
-
- public function termsAndConditions($countryCode)
- {
- /*$query = "SELECT id, url FROM [evolucare].[dbo].[tr_cgv] ".
- "WHERE fk_country = '". $countryCode . "' " .
- "AND fk_application in (SELECT id FROM [evolucare].[dbo].[tr_application] WHERE code = '" . INTIMAMEDIA_APPLICATION . "')";*/
-
- $query = "SELECT id, url FROM [evolucare].[dbo].[tr_cgv] ".
- "WHERE fk_country = 'FR' " .
- "AND fk_application in (SELECT id FROM [evolucare].[dbo].[tr_application] WHERE code = '" . INTIMAMEDIA_APPLICATION . "')";
-
- $results = SQLServerManager::queryOnDatabase( $query );
-
- $termsVo = new TermsVo();
-
- foreach( $results as $value )
- {
- $termsVo->id = $value->id;
- $termsVo->url = $value->url;
- }
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $termsVo;
-
- return $returnObjectVo;
-
- }
-
- public function termsAndConditionsAgreed($userId)
- {
-
- $query = "SELECT c.id, c.url FROM [evolucare].[dbo].[tr_cgv] as c "
- ."INNER JOIN [evolucare].[dbo].[tj_list_cgv] as lc ON c.id = lc.fk_cgv "
- ."WHERE lc.fk_user = '". $userId . "'";
-
- $results = SQLServerManager::queryOnDatabase( $query );
-
- $termsVo = new TermsVo();
-
- foreach( $results as $value )
- {
- $termsVo->id = $value->id;
- $termsVo->url = $value->url;
- }
-
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo->token = SecurityManager::getToken();
- $returnObjectVo->value = $termsVo;
-
- return $returnObjectVo;
-
- }
-
- public function createIntimamediaExample($userId, $patientUid, $organizationId)
- {
- $token = time() + 1000;
-
- // get personId
- $query = "SELECT fk_person FROM [evolucare].[dbo].[tj_user] WHERE id = '". $userId ."'";
-
- $results = SQLServerManager::queryOnDatabase( $query );
- foreach( $results as $value )
- $personId = $value->fk_person;
-
- // get patient
- $returnObjectVo = new ReturnObjectVo();
- $returnObjectVo = PatientService::searchPatient('', $organizationId, $token);
-
- $patientVo = new PatientVo();
- foreach( $returnObjectVo->value as $value )
- {
- if (strcmp($value->uid, $patientUid))
- continue;
-
- $patientVo->firstName = $value->firstName;
- $patientVo->lastName = $value->lastName;
- $patientVo->sex = $value->sex;
- $patientVo->uid = $value->uid;
- $patientVo->birthCountry = $value->birthCountry;
- $patientVo->ethnicGroup = $value->ethnicGroup;
- $patientVo->creation = $value->creation;
- $patientVo->birthDate = $value->birthDate;
- $patientVo->lastVisit = $value->lastVisit;
- break;
-
- }
-
- // createPatient
- $patientId = $this->createExamplePatient($patientVo, $personId);
-
- // getAppointments
- $returnObjectVo = PatientService::searchAppointments($patientUid, $token);
-
- $appointmentVo = new AppointmentVo();
- $nbAppointment = 1;
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createIntimamediaExample, nbappointment=%s\n", sizeof($returnObjectVo->value));
- fclose($ff);*/
-
- foreach( $returnObjectVo->value as $value )
- {
- $getMeasures = true;
-
- $appointmentVo->number = $nbAppointment;
- $appointmentVo->patientId = $patientId;
- $appointmentVo->date = $value->date;
- $appointmentVo->weight = $value->weight;
- $appointmentVo->height = $value->height;
- $appointmentVo->livingCountry = $value->livingCountry;
-
- $srcAppointmentId = $value->id;
-
- // create appointment
- $appointmentVo->id = $this->createExampleAppointment($appointmentVo, $patientUid);
-
- $atsVo = new AtsVo();
- $atsVo = $value->ats;
-
- $tobaccoVo = new TobaccoVo();
- $tobaccoVo = $value->tobacco;
-
- $personalHistoryVo = new PersonalHistoryVo();
- $personalHistoryVo = $value->personalHistory;
-
- $familyHistoryVo = new FamilyHistoryVo();
- $familyHistoryVo = $value->familyHistory;
-
- $cvExaminatorVo = new CvExaminatorVo();
- $cvExaminatorVo = $value->cvExaminator;
-
- $treatments = array();
- $treatments = $value->treatments;
-
- if ($atsVo && $tobaccoVo)
- PatientService::addATSRiskToAnAppointment($atsVo, $tobaccoVo, $appointmentVo->id, $token);
- if ($personalHistoryVo)
- PatientService::addPersonalHistoryToAnAppointment($personalHistoryVo, $appointmentVo->id, $token);
- if ($familyHistoryVo)
- PatientService::addFamilyHistoryToAnAppointment($familyHistoryVo, $appointmentVo->id, $token);
- if ($cvExaminatorVo)
- PatientService::addCardiovascularExaminatorToAnAppointment($cvExaminatorVo, $appointmentVo->id, $token);
- if ($treatments)
- PatientService::addTreatmentsToAnAppointment($treatments, $appointmentVo->id, $token);
-
- // get markers
- $markerArray = AcquisitionService::getMarkers($srcAppointmentId);
- AcquisitionService::saveMarker($markerArray, $appointmentVo->id);
-
- // get images
- $imageArray = AcquisitionService::getImages($srcAppointmentId);
-
- $imageIdList = array();
- foreach( $imageArray as $image )
- array_push($imageIdList, $image->id);
-
- // get measures
- try {
- $measureArray = MeasureService::getMeasures($imageIdList);
- } catch (Exception $e) {$getMeasures = false;}
-
- $matchingId = array();
- foreach( $imageArray as $image )
- {
- $newImageId = $this->createExampleImage($image, $srcAppointmentId, $appointmentVo->id);
- $matchingId["$image->id"] = $newImageId;
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createIntimamediaExample, oldimageId = %d, newimageId=%d\n", $image->id, $newImageId);
- fclose($ff);*/
- }
-
- if (!$getMeasures)
- {
- $nbAppointment++;
- continue;
- }
-
- $measuresToPersist = array();
- foreach( $measureArray as $measure )
- {
- $dragAndDropVo = new DragAndDropVo();
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createIntimamediaExample, matching=%d %d\n", $matchingId["$measure->imageId"], $measure->imageId);
- fclose($ff);*/
-
- $dragAndDropVo->id = $matchingId["$measure->imageId"];
- $dragAndDropVo->scale = $measure->scale;
- $dragAndDropVo->distance = $measure->distance;
- $dragAndDropVo->area = $measure->area;
- $dragAndDropVo->area2 = $measure->area2;
- $dragAndDropVo->nwImtResult = $measure->nwImt;
- $dragAndDropVo->fwImtResult = $measure->fwImt;
- $dragAndDropVo->ultraSoundScanner = 0;
-
- array_push($measuresToPersist, $dragAndDropVo);
- }
-
- MeasureService::saveMeasures($measuresToPersist, $token);
-
- $nbAppointment++;
- }
- }
-
- public function createExamplePatient(PatientVo $patientVo, $personId)
- {
- $query = "SELECT fk_organization FROM [evolucare].[dbo].[t_person] WHERE id = '". $personId ."'";
- $results = SQLServerManager::queryOnDatabase( $query );
-
- foreach( $results as $value )
- $fk_organization = $value->fk_organization;
-
- $patientVo->uid = substr($patientVo->uid, 3);
- $patientVo->uid .= $personId;
- $query = "INSERT INTO [evolucare].[dbo].[t_patient] (uid_physician, first_name, last_name, creation, sex, birth_date, birth_country, ethnic_group, last_visit, fk_physician, fk_organization) VALUES ('".
- $patientVo->uid ."','". SQLServerManager::convertStringToSQLServer( $patientVo->firstName ) ."','".
- SQLServerManager::convertStringToSQLServer( $patientVo->lastName ) ."','".
- $patientVo->creation ."','". $patientVo->sex ."','".
- $patientVo->birthDate ."', '". $patientVo->birthCountry ."', '". $patientVo->ethnicGroup ."', '".
- $patientVo->lastVisit ."', " . $personId .", ". $fk_organization .")";
- $results = SQLServerManager::queryOnDatabase( $query );
-
- if ($results == "exception")
- Throw new Exception("E007");
-
- $query = "SELECT id FROM [evolucare].[dbo].[t_patient] WHERE uid_physician = '". $patientVo->uid ."'";
- $results = SQLServerManager::queryOnDatabase( $query );
-
- $patientId = -1;
- foreach( $results as $value )
- $patientId = $value->id;
-
- return $patientId;
- }
-
- public function createExampleAppointment(AppointmentVo $appointmentVo, $patientUid)
- {
- $query = "INSERT INTO [intimamedia_physician].[dbo].[tj_appointment] ( number, date, weight, height, fk_patient, fk_live_country ) VALUES (".
- $appointmentVo->number .",'". $appointmentVo->date ."',". $appointmentVo->weight .",".
- $appointmentVo->height .",". $appointmentVo->patientId .",'". $appointmentVo->livingCountry ."')";
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createExampleAppointment, query=%s\n", $query);
- fclose($ff);*/
-
- $results = SQLServerManager::queryOnDatabase( $query );
-
- if ($results == "exception")
- Throw new Exception("E008");
-
- $query = "SELECT MAX(id) AS lastId FROM [intimamedia_physician].[dbo].[tj_appointment]";
- $results = SQLServerManager::queryOnDatabase( $query );
-
- $appointmentId = -1;
- foreach( $results as $value )
- $appointmentId = $value->lastId;
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "++++++++++ createExampleAppointment, appointmentId=%s\n", $appointmentId);
- fclose($ff);*/
-
- return $appointmentId;
- }
-
- public function createExampleImage( DragAndDropVo $dragAndDropVo, $srcAppointmentId, $appointmentId )
- {
- $path = "../images/";
- $srcFolder = $path . $srcAppointmentId;
- $folder = $path . $appointmentId;
-
- $keyType = $dragAndDropVo->type;
- $imageHigh = substr($dragAndDropVo->imageHigh, strrpos($dragAndDropVo->imageHigh, '/')+1);
- $imageSmall = substr($dragAndDropVo->imageSmall, strrpos($dragAndDropVo->imageSmall, '/')+1);
- $width = $dragAndDropVo->width;
- $height = $dragAndDropVo->height;
- $collection = $dragAndDropVo->collection;
- $incidence = $dragAndDropVo->incidence;
- $dicom = ($dragAndDropVo->isDicom) ? 1 : 0;
-
- if( !is_dir ( $folder ) )
- {
- mkdir( $folder );
- }
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "saveImages, src=%s dest=%s\n", $srcFolder. "/" . $imageHigh, $folder. "/". $imageHigh);
- fclose($ff);*/
-
- copy( $srcFolder. "/" . $imageHigh, $folder. "/". $imageHigh);
- copy( $srcFolder. "/" . $imageSmall, $folder. "/". $imageSmall);
-
- $url = "http://" . IP_HOST . "/images/". $appointmentId ."/";
-
- $transaction = SQLServerManager::startTransaction();
- $imageQuery = "INSERT INTO [intimamedia_physician].[dbo].[t_image] ( image, image_small, width, height, collection, fk_type, fk_appointment, incidence, dicom ) VALUES ( '". $url . $imageHigh ."', '". $url . $imageSmall ."', ". $width .", ". $height .", '". $collection ."', '".$keyType ."', ". $appointmentId .", '". $incidence ."', " . $dicom . ")";
- $validImageQuery = SQLServerManager::executeQueryForTransaction( $imageQuery, $transaction );
- $idImage = SQLServerManager::getLastId( "[intimamedia_physician].[dbo].[t_image]", $transaction );
-
- if( $validImageQuery )
- {
- SQLServerManager::commitTransaction( $transaction );
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "saveImages, imageid=%s added\n", $idImage);
- fclose($ff);*/
-
- return $idImage;
- }
-
- Throw new Exception("E017");
- }
-
- public function createExampleMeasures( $list )
- {
- foreach( $list as $value )
- {
- $imgId = $value->id;
- $scale = $value->scale;
- $distance = $value->distance;
- $area = $value->area;
- $area2 = $value->area2;
- $nwImtResult = $value->nwImtResult;
- $fwImtResult = $value->fwImtResult;
- $ultraSoundScanner = $value->ultrasoudscanner;
-
- $query = "SELECT id FROM [intimamedia_physician].[dbo].[tj_measure] WHERE fk_image = ". $imgId;
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createExampleMeasures, list=%d %f %f %f %d %d\n", $imgId, $scale, $distance, $area, $nwImtResult, $fwImtResult);
- fprintf($ff, "createExampleMeasures, sql=%s\n", $query);
- fclose($ff);*/
-
- $results = SQLServerManager::queryOnDatabase( $query );
-
- $resultArray = array();
- $measureId = 0;
-
- foreach( $results as $val )
- {
- $measureId = $val->id;
- }
-
- $operation = INSERT;
- if ($measureId)
- {
- // update
- $operation = UPDATE;
- }
-
- /*$ff=fopen("d:/tmp.jd", "a+");
- fprintf($ff, "createExampleMeasures, measureId=%s\n", $measureId);
- fclose($ff);*/
-
- MeasureService::persistMeasure($measureId, $imgId, $operation, $scale, $distance, $area, $area2, $fwImtResult, $nwImtResult, $ultraSoundScanner);
- }
- }
- }
- ?>
|