From b7be1a7ab02ce2c651c4d5c452e751c551aac3f6 Mon Sep 17 00:00:00 2001 From: Michael RICOIS Date: Tue, 15 Oct 2013 15:30:21 +0000 Subject: [PATCH] Inlcude all libs --- application/controllers/PrestaController.php | 5 + application/controllers/ReportController.php | 34 + application/views/scripts/error/error.phtml | 37 + application/views/scripts/index/index.phtml | 4 +- application/views/scripts/presta/presta.phtml | 1 + application/views/scripts/report/index.phtml | 1 + library/Scores/Annonces.php | 447 +++ library/Scores/AuthAdapter.php | 151 + library/Scores/AvisSituation.php | 282 ++ library/Scores/Bdf.php | 692 ++++ library/Scores/Cache.php | 159 + library/Scores/ExportCSV.php | 72 + library/Scores/GestionCommandes.php | 142 + library/Scores/Google.php | 50 + library/Scores/Google/Streetview.php | 185 ++ library/Scores/IdentiteEntreprise.php | 1155 +++++++ library/Scores/IdentiteProcol.php | 233 ++ library/Scores/Iris.php | 62 + library/Scores/Logo.php | 112 + library/Scores/Mail.php | 113 + library/Scores/Mappy.php | 76 + library/Scores/Menu.php | 944 ++++++ library/Scores/PagePrint.php | 158 + library/Scores/Partner/Report.php | 672 ++++ library/Scores/Partner/Report/Helpers.php | 71 + library/Scores/Partner/Report/Html.php | 34 + .../Templates/indiscore3/annonces.phtml | 20 + .../Partner/Templates/indiscore3/bilans.phtml | 37 + .../Templates/indiscore3/dirigeants.phtml | 49 + .../indiscore3/finance/bilan/actif.phtml | 42 + .../indiscore3/finance/bilan/passif.phtml | 41 + .../indiscore3/finance/bilan/sig.phtml | 44 + .../Partner/Templates/indiscore3/footer.phtml | 5 + .../Partner/Templates/indiscore3/header.phtml | 16 + .../Templates/indiscore3/identite.phtml | 68 + .../Templates/indiscore3/indiscore.phtml | 164 + .../juridique/annonces-resume.phtml | 31 + .../Partner/Templates/indiscore3/liens.phtml | 127 + .../Partner/Templates/indiscore3/ratios.phtml | 44 + .../Templates/indiscore3/synthese.phtml | 76 + .../pages/themes/default/images/1x1.png | Bin 0 -> 95 bytes .../pages/themes/default/images/ajax/1-1.gif | Bin 0 -> 673 bytes .../pages/themes/default/images/ajax/10-1.gif | Bin 0 -> 2248 bytes .../pages/themes/default/images/ajax/11-1.gif | Bin 0 -> 500 bytes .../pages/themes/default/images/ajax/12-1.gif | Bin 0 -> 2479 bytes .../pages/themes/default/images/ajax/13-1.gif | Bin 0 -> 743 bytes .../pages/themes/default/images/ajax/14-1.gif | Bin 0 -> 2115 bytes .../pages/themes/default/images/ajax/15-1.gif | Bin 0 -> 2947 bytes .../pages/themes/default/images/ajax/16-1.gif | Bin 0 -> 477 bytes .../pages/themes/default/images/ajax/17-1.gif | Bin 0 -> 1644 bytes .../pages/themes/default/images/ajax/18-1.gif | Bin 0 -> 404 bytes .../pages/themes/default/images/ajax/19-1.gif | Bin 0 -> 8238 bytes .../pages/themes/default/images/ajax/2-1.gif | Bin 0 -> 1849 bytes .../pages/themes/default/images/ajax/20-1.gif | Bin 0 -> 4176 bytes .../pages/themes/default/images/ajax/21-1.gif | Bin 0 -> 9427 bytes .../pages/themes/default/images/ajax/22-1.gif | Bin 0 -> 3494 bytes .../pages/themes/default/images/ajax/23-1.gif | Bin 0 -> 496 bytes .../pages/themes/default/images/ajax/24-1.gif | Bin 0 -> 2545 bytes .../pages/themes/default/images/ajax/25-1.gif | Bin 0 -> 2608 bytes .../pages/themes/default/images/ajax/26-1.gif | Bin 0 -> 8787 bytes .../pages/themes/default/images/ajax/27-1.gif | Bin 0 -> 1924 bytes .../pages/themes/default/images/ajax/28-1.gif | Bin 0 -> 1456 bytes .../pages/themes/default/images/ajax/29-1.gif | Bin 0 -> 3992 bytes .../pages/themes/default/images/ajax/3-1.gif | Bin 0 -> 1079 bytes .../pages/themes/default/images/ajax/30-1.gif | Bin 0 -> 4178 bytes .../pages/themes/default/images/ajax/31-1.gif | Bin 0 -> 3720 bytes .../pages/themes/default/images/ajax/32-1.gif | Bin 0 -> 6494 bytes .../pages/themes/default/images/ajax/33-1.gif | Bin 0 -> 7364 bytes .../pages/themes/default/images/ajax/34-1.gif | Bin 0 -> 4782 bytes .../pages/themes/default/images/ajax/35-1.gif | Bin 0 -> 6820 bytes .../pages/themes/default/images/ajax/4-1.gif | Bin 0 -> 847 bytes .../pages/themes/default/images/ajax/5-1.gif | Bin 0 -> 3208 bytes .../pages/themes/default/images/ajax/6-1.gif | Bin 0 -> 1737 bytes .../pages/themes/default/images/ajax/7-1.gif | Bin 0 -> 529 bytes .../pages/themes/default/images/ajax/8-1.gif | Bin 0 -> 10819 bytes .../pages/themes/default/images/ajax/9-1.gif | Bin 0 -> 7247 bytes .../default/images/annonces/logo_greffe.png | Bin 0 -> 364 bytes .../images/annonces/logo_indiscore.png | Bin 0 -> 2682 bytes .../default/images/annonces/logo_inpi.png | Bin 0 -> 1383 bytes .../default/images/annonces/logo_jal.png | Bin 0 -> 463 bytes .../default/images/annonces/logo_jo.png | Bin 0 -> 595 bytes .../default/images/boutton_precedent_off.gif | Bin 0 -> 1144 bytes .../default/images/boutton_precedent_on.gif | Bin 0 -> 1137 bytes .../default/images/boutton_suivant_off.gif | Bin 0 -> 1153 bytes .../default/images/boutton_suivant_on.gif | Bin 0 -> 1132 bytes .../default/images/boutton_valider_off.gif | Bin 0 -> 1212 bytes .../default/images/boutton_valider_on.gif | Bin 0 -> 1167 bytes .../default/images/comment/li-egale.gif | Bin 0 -> 845 bytes .../default/images/comment/li-moins.gif | Bin 0 -> 828 bytes .../themes/default/images/comment/li-plus.gif | Bin 0 -> 836 bytes .../default/images/comment/li-point.gif | Bin 0 -> 839 bytes .../images/customrapport/logo_ordertocash.jpg | Bin 0 -> 87925 bytes .../logo_ordertocash_background.jpg | Bin 0 -> 42939 bytes .../themes/default/images/drapeaux/de.png | Bin 0 -> 545 bytes .../themes/default/images/drapeaux/en.png | Bin 0 -> 599 bytes .../themes/default/images/drapeaux/fr.png | Bin 0 -> 545 bytes .../themes/default/images/drapeaux/it.png | Bin 0 -> 420 bytes .../themes/default/images/drapeaux/nl.png | Bin 0 -> 453 bytes .../themes/default/images/exclamation.png | Bin 0 -> 27516 bytes .../default/images/finance/char_bar.png | Bin 0 -> 541 bytes .../default/images/finance/pbar-ani.gif | Bin 0 -> 7970 bytes .../default/images/finance/ratios_bon.png | Bin 0 -> 1138 bytes .../default/images/finance/ratios_mauvais.png | Bin 0 -> 1119 bytes .../themes/default/images/giant/19-1.gif | Bin 0 -> 8238 bytes .../themes/default/images/giant/26-1.gif | Bin 0 -> 8787 bytes .../pages/themes/default/images/giant/8-1.gif | Bin 0 -> 10819 bytes .../pages/themes/default/images/giant/9-1.gif | Bin 0 -> 7247 bytes .../default/images/giant/annonces/BODACC.png | Bin 0 -> 595 bytes .../default/images/giant/annonces/GREFFE.png | Bin 0 -> 364 bytes .../default/images/giant/annonces/INPI.png | Bin 0 -> 1383 bytes .../images/giant/annonces/flag_green.png | Bin 0 -> 672 bytes .../images/giant/annonces/flag_orange.png | Bin 0 -> 669 bytes .../images/giant/annonces/flag_red.png | Bin 0 -> 665 bytes .../themes/default/images/giant/cartes/be.JPG | Bin 0 -> 27596 bytes .../themes/default/images/giant/cartes/es.JPG | Bin 0 -> 31846 bytes .../themes/default/images/giant/cartes/fr.png | Bin 0 -> 35161 bytes .../themes/default/images/giant/cartes/nl.JPG | Bin 0 -> 26171 bytes .../themes/default/images/giant/cartes/uk.JPG | Bin 0 -> 26607 bytes .../themes/default/images/giant/collapsed.gif | Bin 0 -> 847 bytes .../themes/default/images/giant/down.png | Bin 0 -> 635 bytes .../themes/default/images/giant/error.png | Bin 0 -> 666 bytes .../themes/default/images/giant/expanded.gif | Bin 0 -> 850 bytes .../themes/default/images/giant/tag_blue.png | Bin 0 -> 586 bytes .../pages/themes/default/images/giant/up.png | Bin 0 -> 626 bytes .../default/images/indiscore/imgscores-0.png | Bin 0 -> 266 bytes .../default/images/indiscore/imgscores-1.png | Bin 0 -> 266 bytes .../default/images/indiscore/imgscores-10.png | Bin 0 -> 494 bytes .../images/indiscore/imgscores-100.png | Bin 0 -> 4110 bytes .../default/images/indiscore/imgscores-11.png | Bin 0 -> 524 bytes .../default/images/indiscore/imgscores-12.png | Bin 0 -> 564 bytes .../default/images/indiscore/imgscores-13.png | Bin 0 -> 599 bytes .../default/images/indiscore/imgscores-14.png | Bin 0 -> 643 bytes .../default/images/indiscore/imgscores-15.png | Bin 0 -> 676 bytes .../default/images/indiscore/imgscores-16.png | Bin 0 -> 708 bytes .../default/images/indiscore/imgscores-17.png | Bin 0 -> 766 bytes .../default/images/indiscore/imgscores-18.png | Bin 0 -> 823 bytes .../default/images/indiscore/imgscores-19.png | Bin 0 -> 870 bytes .../default/images/indiscore/imgscores-2.png | Bin 0 -> 282 bytes .../default/images/indiscore/imgscores-20.png | Bin 0 -> 917 bytes .../default/images/indiscore/imgscores-21.png | Bin 0 -> 963 bytes .../default/images/indiscore/imgscores-22.png | Bin 0 -> 1030 bytes .../default/images/indiscore/imgscores-23.png | Bin 0 -> 1088 bytes .../default/images/indiscore/imgscores-24.png | Bin 0 -> 1162 bytes .../default/images/indiscore/imgscores-25.png | Bin 0 -> 1196 bytes .../default/images/indiscore/imgscores-26.png | Bin 0 -> 1237 bytes .../default/images/indiscore/imgscores-27.png | Bin 0 -> 1284 bytes .../default/images/indiscore/imgscores-28.png | Bin 0 -> 1333 bytes .../default/images/indiscore/imgscores-29.png | Bin 0 -> 1385 bytes .../default/images/indiscore/imgscores-3.png | Bin 0 -> 332 bytes .../default/images/indiscore/imgscores-30.png | Bin 0 -> 1423 bytes .../default/images/indiscore/imgscores-31.png | Bin 0 -> 1463 bytes .../default/images/indiscore/imgscores-32.png | Bin 0 -> 1488 bytes .../default/images/indiscore/imgscores-33.png | Bin 0 -> 1554 bytes .../default/images/indiscore/imgscores-34.png | Bin 0 -> 1595 bytes .../default/images/indiscore/imgscores-35.png | Bin 0 -> 1629 bytes .../default/images/indiscore/imgscores-36.png | Bin 0 -> 1671 bytes .../default/images/indiscore/imgscores-37.png | Bin 0 -> 1710 bytes .../default/images/indiscore/imgscores-38.png | Bin 0 -> 1763 bytes .../default/images/indiscore/imgscores-39.png | Bin 0 -> 1814 bytes .../default/images/indiscore/imgscores-4.png | Bin 0 -> 364 bytes .../default/images/indiscore/imgscores-40.png | Bin 0 -> 1851 bytes .../default/images/indiscore/imgscores-41.png | Bin 0 -> 1873 bytes .../default/images/indiscore/imgscores-42.png | Bin 0 -> 1914 bytes .../default/images/indiscore/imgscores-43.png | Bin 0 -> 1954 bytes .../default/images/indiscore/imgscores-44.png | Bin 0 -> 1987 bytes .../default/images/indiscore/imgscores-45.png | Bin 0 -> 2020 bytes .../default/images/indiscore/imgscores-46.png | Bin 0 -> 2051 bytes .../default/images/indiscore/imgscores-47.png | Bin 0 -> 2076 bytes .../default/images/indiscore/imgscores-48.png | Bin 0 -> 2102 bytes .../default/images/indiscore/imgscores-49.png | Bin 0 -> 2140 bytes .../default/images/indiscore/imgscores-5.png | Bin 0 -> 389 bytes .../default/images/indiscore/imgscores-50.png | Bin 0 -> 2159 bytes .../default/images/indiscore/imgscores-51.png | Bin 0 -> 2186 bytes .../default/images/indiscore/imgscores-52.png | Bin 0 -> 2202 bytes .../default/images/indiscore/imgscores-53.png | Bin 0 -> 2214 bytes .../default/images/indiscore/imgscores-54.png | Bin 0 -> 2233 bytes .../default/images/indiscore/imgscores-55.png | Bin 0 -> 2254 bytes .../default/images/indiscore/imgscores-56.png | Bin 0 -> 2275 bytes .../default/images/indiscore/imgscores-57.png | Bin 0 -> 2288 bytes .../default/images/indiscore/imgscores-58.png | Bin 0 -> 2319 bytes .../default/images/indiscore/imgscores-59.png | Bin 0 -> 2340 bytes .../default/images/indiscore/imgscores-6.png | Bin 0 -> 413 bytes .../default/images/indiscore/imgscores-60.png | Bin 0 -> 2364 bytes .../default/images/indiscore/imgscores-61.png | Bin 0 -> 2385 bytes .../default/images/indiscore/imgscores-62.png | Bin 0 -> 2409 bytes .../default/images/indiscore/imgscores-63.png | Bin 0 -> 2429 bytes .../default/images/indiscore/imgscores-64.png | Bin 0 -> 2445 bytes .../default/images/indiscore/imgscores-65.png | Bin 0 -> 2469 bytes .../default/images/indiscore/imgscores-66.png | Bin 0 -> 2491 bytes .../default/images/indiscore/imgscores-67.png | Bin 0 -> 2536 bytes .../default/images/indiscore/imgscores-68.png | Bin 0 -> 2594 bytes .../default/images/indiscore/imgscores-69.png | Bin 0 -> 2637 bytes .../default/images/indiscore/imgscores-7.png | Bin 0 -> 430 bytes .../default/images/indiscore/imgscores-70.png | Bin 0 -> 2737 bytes .../default/images/indiscore/imgscores-71.png | Bin 0 -> 2783 bytes .../default/images/indiscore/imgscores-72.png | Bin 0 -> 2842 bytes .../default/images/indiscore/imgscores-73.png | Bin 0 -> 2895 bytes .../default/images/indiscore/imgscores-74.png | Bin 0 -> 2933 bytes .../default/images/indiscore/imgscores-75.png | Bin 0 -> 2973 bytes .../default/images/indiscore/imgscores-76.png | Bin 0 -> 3004 bytes .../default/images/indiscore/imgscores-77.png | Bin 0 -> 3028 bytes .../default/images/indiscore/imgscores-78.png | Bin 0 -> 3062 bytes .../default/images/indiscore/imgscores-79.png | Bin 0 -> 3107 bytes .../default/images/indiscore/imgscores-8.png | Bin 0 -> 456 bytes .../default/images/indiscore/imgscores-80.png | Bin 0 -> 3150 bytes .../default/images/indiscore/imgscores-81.png | Bin 0 -> 3213 bytes .../default/images/indiscore/imgscores-82.png | Bin 0 -> 3253 bytes .../default/images/indiscore/imgscores-83.png | Bin 0 -> 3319 bytes .../default/images/indiscore/imgscores-84.png | Bin 0 -> 3371 bytes .../default/images/indiscore/imgscores-85.png | Bin 0 -> 3415 bytes .../default/images/indiscore/imgscores-86.png | Bin 0 -> 3486 bytes .../default/images/indiscore/imgscores-87.png | Bin 0 -> 3544 bytes .../default/images/indiscore/imgscores-88.png | Bin 0 -> 3593 bytes .../default/images/indiscore/imgscores-89.png | Bin 0 -> 3657 bytes .../default/images/indiscore/imgscores-9.png | Bin 0 -> 476 bytes .../default/images/indiscore/imgscores-90.png | Bin 0 -> 3696 bytes .../default/images/indiscore/imgscores-91.png | Bin 0 -> 3754 bytes .../default/images/indiscore/imgscores-92.png | Bin 0 -> 3788 bytes .../default/images/indiscore/imgscores-93.png | Bin 0 -> 3817 bytes .../default/images/indiscore/imgscores-94.png | Bin 0 -> 3858 bytes .../default/images/indiscore/imgscores-95.png | Bin 0 -> 3888 bytes .../default/images/indiscore/imgscores-96.png | Bin 0 -> 3927 bytes .../default/images/indiscore/imgscores-97.png | Bin 0 -> 3967 bytes .../default/images/indiscore/imgscores-98.png | Bin 0 -> 3999 bytes .../default/images/indiscore/imgscores-99.png | Bin 0 -> 4050 bytes .../images/indiscore/logo_indiscore.png | Bin 0 -> 2682 bytes .../default/images/indiscore/reglette.png | Bin 0 -> 560 bytes .../default/images/indiscore/sgradiant2.png | Bin 0 -> 1192 bytes .../pages/themes/default/images/info.gif | Bin 0 -> 1053 bytes .../default/images/interfaces/aideligne.png | Bin 0 -> 1494 bytes .../default/images/interfaces/ajouter.png | Bin 0 -> 1195 bytes .../default/images/interfaces/delete.gif | Bin 0 -> 93 bytes .../images/interfaces/domiciliation.png | Bin 0 -> 651 bytes .../default/images/interfaces/edit0.gif | Bin 0 -> 104 bytes .../default/images/interfaces/edit1.gif | Bin 0 -> 247 bytes .../default/images/interfaces/editer.png | Bin 0 -> 1096 bytes .../images/interfaces/editer_trans.png | Bin 0 -> 555 bytes .../themes/default/images/interfaces/even.png | Bin 0 -> 897 bytes .../default/images/interfaces/exclamation.png | Bin 0 -> 27516 bytes .../images/interfaces/icone_courrier.png | Bin 0 -> 180 bytes .../default/images/interfaces/icone_pdf.gif | Bin 0 -> 394 bytes .../default/images/interfaces/page_swap.png | Bin 0 -> 774 bytes .../images/interfaces/page_white_put.png | Bin 0 -> 535 bytes .../themes/default/images/interfaces/pdf.png | Bin 0 -> 1372 bytes .../default/images/interfaces/printer.png | Bin 0 -> 133 bytes .../default/images/interfaces/save_copy.png | Bin 0 -> 389 bytes .../default/images/interfaces/supprimer.png | Bin 0 -> 1195 bytes .../themes/default/images/interfaces/xml.png | Bin 0 -> 1087 bytes .../themes/default/images/logos/logo_sd.gif | Bin 0 -> 2348 bytes .../themes/default/images/logos/logo_sd.png | Bin 0 -> 6073 bytes .../themes/default/images/maps/admin0.png | Bin 0 -> 29571 bytes .../themes/default/images/maps/admin1.png | Bin 0 -> 29454 bytes .../themes/default/images/maps/domi0.png | Bin 0 -> 30621 bytes .../themes/default/images/maps/domi1.png | Bin 0 -> 29407 bytes .../themes/default/images/maps/entrepot0.png | Bin 0 -> 28963 bytes .../themes/default/images/maps/entrepot1.png | Bin 0 -> 29291 bytes .../themes/default/images/maps/etab0.png | Bin 0 -> 29275 bytes .../themes/default/images/maps/etab1.png | Bin 0 -> 29384 bytes .../themes/default/images/maps/pers0.png | Bin 0 -> 29361 bytes .../themes/default/images/maps/pers1.png | Bin 0 -> 29413 bytes .../themes/default/images/maps/shop0.png | Bin 0 -> 31103 bytes .../themes/default/images/maps/shop1.png | Bin 0 -> 30365 bytes .../themes/default/images/maps/siege.png | Bin 0 -> 29311 bytes .../themes/default/images/maps/siege0.png | Bin 0 -> 29508 bytes .../themes/default/images/maps/siege1.png | Bin 0 -> 29631 bytes .../themes/default/images/maps/tractor0.png | Bin 0 -> 29252 bytes .../themes/default/images/maps/tractor1.png | Bin 0 -> 29417 bytes .../themes/default/images/maps/usine0.png | Bin 0 -> 28855 bytes .../themes/default/images/maps/usine1.png | Bin 0 -> 29081 bytes .../themes/default/images/menu/collapsed.gif | Bin 0 -> 847 bytes .../themes/default/images/menu/expanded.gif | Bin 0 -> 850 bytes .../themes/default/images/menu/linkarrow.gif | Bin 0 -> 846 bytes .../themes/default/images/menu/logo_menu.gif | Bin 0 -> 2348 bytes .../themes/default/images/menu/title.gif | Bin 0 -> 862 bytes .../images/portefeuille/score_alert.gif | Bin 0 -> 990 bytes .../portefeuille/score_orangebaisse.gif | Bin 0 -> 981 bytes .../portefeuille/score_orangebaisse45.gif | Bin 0 -> 989 bytes .../portefeuille/score_orangeconstant.gif | Bin 0 -> 1006 bytes .../portefeuille/score_orangehausse.gif | Bin 0 -> 987 bytes .../portefeuille/score_orangehausse45.gif | Bin 0 -> 983 bytes .../images/portefeuille/score_rougebaisse.gif | Bin 0 -> 983 bytes .../portefeuille/score_rougebaisse45.gif | Bin 0 -> 981 bytes .../portefeuille/score_rougeconstant.gif | Bin 0 -> 1003 bytes .../images/portefeuille/score_rougehausse.gif | Bin 0 -> 983 bytes .../portefeuille/score_rougehausse45.gif | Bin 0 -> 981 bytes .../images/portefeuille/score_vertbaisse.gif | Bin 0 -> 989 bytes .../portefeuille/score_vertbaisse45.gif | Bin 0 -> 991 bytes .../portefeuille/score_vertconstant.gif | Bin 0 -> 1006 bytes .../images/portefeuille/score_verthausse.gif | Bin 0 -> 987 bytes .../portefeuille/score_verthausse45.gif | Bin 0 -> 996 bytes .../default/images/scoring/feux_orange.png | Bin 0 -> 1047 bytes .../default/images/scoring/feux_rouge.png | Bin 0 -> 1059 bytes .../default/images/scoring/feux_vert.png | Bin 0 -> 1059 bytes .../images/scoring/logo_creditsafe.png | Bin 0 -> 1840 bytes .../themes/default/images/siretdirect.gif | Bin 0 -> 873 bytes .../default/images/ui-anim_basic_16x16.gif | Bin 0 -> 1459 bytes .../default/images/worldcheck/first.png | Bin 0 -> 3439 bytes .../themes/default/images/worldcheck/last.png | Bin 0 -> 3432 bytes .../themes/default/images/worldcheck/next.png | Bin 0 -> 3335 bytes .../themes/default/images/worldcheck/prev.png | Bin 0 -> 3325 bytes .../default/images/worldcheck/wc-blanc.png | Bin 0 -> 3251 bytes .../themes/default/images/worldcheck/wc.png | Bin 0 -> 3541 bytes .../themes/default/images/worldcheck/wc0.png | Bin 0 -> 3501 bytes .../pages/themes/default/styles/main.css | 680 ++++ library/Scores/RapportComment.php | 781 +++++ library/Scores/RechercheHistorique.php | 122 + library/Scores/SelectLang.php | 22 + library/Scores/Serializer/Adapter/Xml.php | 164 + library/Scores/SessionEntreprise.php | 160 + library/Scores/Siren.php | 58 + library/Scores/Utilisateur.php | 338 ++ library/Scores/Wkhtmltopdf.php | 53 + library/Scores/WsScores.php | 2897 +++++++++++++++++ library/Scores/classMMap.php | 173 + library/Scores/webservices.ini | 69 + scripts/build/configure.php | 4 + 316 files changed, 12175 insertions(+), 2 deletions(-) create mode 100644 application/controllers/PrestaController.php create mode 100644 application/controllers/ReportController.php create mode 100644 application/views/scripts/error/error.phtml create mode 100644 application/views/scripts/presta/presta.phtml create mode 100644 application/views/scripts/report/index.phtml create mode 100644 library/Scores/Annonces.php create mode 100644 library/Scores/AuthAdapter.php create mode 100644 library/Scores/AvisSituation.php create mode 100644 library/Scores/Bdf.php create mode 100644 library/Scores/Cache.php create mode 100644 library/Scores/ExportCSV.php create mode 100644 library/Scores/GestionCommandes.php create mode 100644 library/Scores/Google.php create mode 100644 library/Scores/Google/Streetview.php create mode 100644 library/Scores/IdentiteEntreprise.php create mode 100644 library/Scores/IdentiteProcol.php create mode 100644 library/Scores/Iris.php create mode 100644 library/Scores/Logo.php create mode 100644 library/Scores/Mail.php create mode 100644 library/Scores/Mappy.php create mode 100644 library/Scores/Menu.php create mode 100644 library/Scores/PagePrint.php create mode 100644 library/Scores/Partner/Report.php create mode 100644 library/Scores/Partner/Report/Helpers.php create mode 100644 library/Scores/Partner/Report/Html.php create mode 100644 library/Scores/Partner/Templates/indiscore3/annonces.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/bilans.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/dirigeants.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/finance/bilan/actif.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/finance/bilan/passif.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/finance/bilan/sig.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/footer.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/header.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/identite.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/indiscore.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/juridique/annonces-resume.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/liens.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/ratios.phtml create mode 100644 library/Scores/Partner/Templates/indiscore3/synthese.phtml create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/1x1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/1-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/10-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/11-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/12-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/13-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/14-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/15-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/16-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/17-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/18-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/19-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/2-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/20-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/21-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/22-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/23-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/24-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/25-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/26-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/27-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/28-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/29-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/3-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/30-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/31-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/32-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/33-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/34-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/35-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/4-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/5-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/6-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/7-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/8-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ajax/9-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_greffe.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_indiscore.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_inpi.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jal.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jo.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_precedent_off.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_precedent_on.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_suivant_off.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_suivant_on.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_valider_off.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/boutton_valider_on.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/comment/li-egale.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/comment/li-moins.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/comment/li-plus.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/comment/li-point.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/customrapport/logo_ordertocash.jpg create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/customrapport/logo_ordertocash_background.jpg create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/drapeaux/de.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/drapeaux/en.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/drapeaux/fr.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/drapeaux/it.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/drapeaux/nl.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/exclamation.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/finance/char_bar.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/finance/pbar-ani.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/finance/ratios_bon.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/finance/ratios_mauvais.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/19-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/26-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/8-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/9-1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/BODACC.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/GREFFE.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/INPI.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/flag_green.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/flag_orange.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/annonces/flag_red.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/cartes/be.JPG create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/cartes/es.JPG create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/cartes/fr.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/cartes/nl.JPG create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/cartes/uk.JPG create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/collapsed.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/down.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/error.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/expanded.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/tag_blue.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/giant/up.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-10.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-100.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-11.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-12.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-13.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-14.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-15.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-16.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-17.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-18.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-19.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-2.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-20.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-21.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-22.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-23.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-24.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-25.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-26.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-27.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-28.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-29.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-3.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-30.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-31.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-32.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-33.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-34.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-35.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-36.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-37.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-38.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-39.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-4.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-40.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-41.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-42.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-43.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-44.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-45.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-46.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-47.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-48.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-49.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-5.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-50.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-51.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-52.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-53.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-54.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-55.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-56.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-57.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-58.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-59.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-6.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-60.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-61.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-62.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-63.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-64.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-65.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-66.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-67.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-68.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-69.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-7.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-70.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-71.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-72.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-73.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-74.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-75.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-76.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-77.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-78.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-79.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-8.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-80.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-81.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-82.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-83.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-84.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-85.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-86.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-87.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-88.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-89.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-9.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-90.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-91.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-92.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-93.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-94.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-95.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-96.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-97.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-98.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/imgscores-99.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/logo_indiscore.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/reglette.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/indiscore/sgradiant2.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/info.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/aideligne.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/ajouter.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/delete.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/domiciliation.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/edit0.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/edit1.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/editer.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/editer_trans.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/even.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/exclamation.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/icone_courrier.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/icone_pdf.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/page_swap.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/page_white_put.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/pdf.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/printer.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/save_copy.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/supprimer.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/interfaces/xml.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/logos/logo_sd.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/logos/logo_sd.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/admin0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/admin1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/domi0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/domi1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/entrepot0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/entrepot1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/etab0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/etab1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/pers0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/pers1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/shop0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/shop1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/siege.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/siege0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/siege1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/tractor0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/tractor1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/usine0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/maps/usine1.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/menu/collapsed.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/menu/expanded.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/menu/linkarrow.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/menu/logo_menu.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/menu/title.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_alert.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_orangebaisse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_orangebaisse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_orangeconstant.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_orangehausse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_orangehausse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_rougebaisse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_rougebaisse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_rougeconstant.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_rougehausse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_rougehausse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_vertbaisse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_vertbaisse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_vertconstant.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_verthausse.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/portefeuille/score_verthausse45.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/scoring/feux_orange.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/scoring/feux_rouge.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/scoring/feux_vert.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/scoring/logo_creditsafe.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/siretdirect.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/ui-anim_basic_16x16.gif create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/first.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/last.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/next.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/prev.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/wc-blanc.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/wc.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/images/worldcheck/wc0.png create mode 100644 library/Scores/Partner/Templates/pages/themes/default/styles/main.css create mode 100644 library/Scores/RapportComment.php create mode 100644 library/Scores/RechercheHistorique.php create mode 100644 library/Scores/SelectLang.php create mode 100644 library/Scores/Serializer/Adapter/Xml.php create mode 100644 library/Scores/SessionEntreprise.php create mode 100644 library/Scores/Siren.php create mode 100644 library/Scores/Utilisateur.php create mode 100644 library/Scores/Wkhtmltopdf.php create mode 100644 library/Scores/WsScores.php create mode 100644 library/Scores/classMMap.php create mode 100644 library/Scores/webservices.ini create mode 100644 scripts/build/configure.php diff --git a/application/controllers/PrestaController.php b/application/controllers/PrestaController.php new file mode 100644 index 0000000..8e4055b --- /dev/null +++ b/application/controllers/PrestaController.php @@ -0,0 +1,5 @@ +getRequest(); + + //Get parameters + $siren = $request->getParam('siren'); + + + //Control the prestation with the database - inject additionnaly parameters + + //Launch report + + $report = new Scores_Partner_Report('indiscore3', '552144503', 'mricois', 'ju2loh6o'); + $html = $report->getContent(); + file_put_contents('test.html', $html); + + //Write links to get the HTML and/or PDF + + } + + public function pdfAction() + { + //Unlink the file + + //if HTML exist, make a pdf + + //Distribute it to the output + + } + +} \ No newline at end of file diff --git a/application/views/scripts/error/error.phtml b/application/views/scripts/error/error.phtml new file mode 100644 index 0000000..ede0829 --- /dev/null +++ b/application/views/scripts/error/error.phtml @@ -0,0 +1,37 @@ + + + + + Extranet - Erreur + + +
+

Erreur

+
+ message ?> +
+ + exception)): ?> +

Exception information:

+
+

+ Message:

exception->getMessage() ?>
+

+
+
+ +

Stack trace:

+
+
exception->getTraceAsString() ?>
+
+
+ +

Request Parameters:

+
+
request->getParams(), true) ?>
+
+ + +
+ + diff --git a/application/views/scripts/index/index.phtml b/application/views/scripts/index/index.phtml index 517cd48..f59cde7 100644 --- a/application/views/scripts/index/index.phtml +++ b/application/views/scripts/index/index.phtml @@ -1,7 +1,7 @@

Programme Partenaires

-

Créer de la valeur ajoutée avec nos solutions autour de notre expertises sur les entreprises.

+

Créer de la valeur ajoutée avec nos solutions autour de notre expertise sur les entreprises.

Détails

@@ -9,7 +9,7 @@

Rapport financier

-

Créer des rapports financier en marque blanche

+

Créer des rapports financiers en marque blanche

Details »

diff --git a/application/views/scripts/presta/presta.phtml b/application/views/scripts/presta/presta.phtml new file mode 100644 index 0000000..b3d9bbc --- /dev/null +++ b/application/views/scripts/presta/presta.phtml @@ -0,0 +1 @@ +0) { + $this->annonces = $annonces; + $this->triAnnonces(); + krsort($this->annoncesBodacc); + krsort($this->annoncesBalo); + krsort($this->annoncesAsso); + krsort($this->annoncesBomp); + } + } + + /** + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceDesc($ann) + { + if ($this->isBalo($ann->BodaccCode)) { + + return 'BALO n°'.$ann->BodaccNum.' du '. + $this->dateAnnonce($ann->DateParution).'.'; + + } elseif ($this->isAsso($ann->BodaccCode)) { + + return 'J.O. ASSOCIATION n°'.$ann->BodaccNum.' du '. + $this->dateAnnonce($ann->DateParution).'.'; + + } elseif ($this->isBomp($ann->BodaccCode)){ + + return 'Annonce n°'.$ann->NumAnnonce . '. ' . + 'Source ' . $ann->BodaccCode . ' ' . + 'n°' . ($ann->BodaccNum*1) . ' ' . + ' du '.$this->dateAnnonce($ann->DateParution). + '. Département n°'.$ann->Departement.'.'; + + } else { + + $tabSource = explode('-', $ann->BodaccCode); + $source = $tabSource[0]; + $idSource = $tabSource[1]; + if ($source[0] == 'B') { + $logo = '/themes/default/images/annonces/logo_jo.png'; + if ($ann->BodaccNum==0){ + $libelle = 'Source BODACC '.substr($ann->BodaccCode,-1). + ' du '.$this->dateAnnonce($ann->DateParution); + } else { + $view = new Zend_View(); + $session = new SessionEntreprise(null); + $href = $view->url(array( + 'controller' => 'juridique', + 'action' => 'competences', + 'type' => 'tri', + 'siret' => $session->getSiret(), + ), null, true); + $libelle = 'Source BODACC n°'.$ann->BodaccNum.' '. + substr($ann->BodaccCode,-1). + ' du '.$this->dateAnnonce($ann->DateParution). + '. Département n°'.$ann->Departement. + '. '.$ann->Tribunal.''; + } + } elseif ($source[0] == 'G' || $source[0] == 'T') { + $logo = '/themes/default/images/annonces/logo_greffe.png'; + $libelle = 'Source Greffe du Tribunal'. + ' du '.$this->dateAnnonce($ann->DateParution). + '. Département n°'.$ann->Departement. + '. '.$ann->Tribunal.''; + } elseif ($source[0] == 'P') { + $logo = '/themes/default/images/annonces/logo_inpi.png'; + $libelle = 'Source Registre National du Commerce'; + } else { + $logo = '/themes/default/images/annonces/logo_jal.png'; + $libelle = ''; + $user = new Scores_Utilisateur(); + if( $user->checkModeEdition() && + (substr($source,0,2)=='JT' || $source=='ANTE') ){ + $libelle = 'Source TESSI - '; + } + $libelle.= 'Source Journal Annonces Légales'; + } + return ' '.$libelle.'.'; + } + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceEntree($ann) + { + if ($this->isBalo($ann->BodaccCode)) { + + return 'Entré n°'.$ann->NumAnnonce.'.'; + + } elseif ($this->isAsso($ann->BodaccCode)) { + + return 'Annonce n°'.$ann->NumAnnonce.'.'; + + } elseif ($this->isBomp($ann->BodaccCode)){ + return ''; + + } else { + + if ($ann->dateInsertionSD!='') { + return ' - Entrée en base : '. + $this->dateAnnonce($ann->dateInsertionSD); + } + + } + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceEntreeSD($ann) + { + if ($this->isBodacc($annBodaccCode)) { + + } elseif ($this->isBalo($ann->BodaccCode)) { + + return 'Entrée en base S&D : '. + $this->dateAnnonce($ann->dateInsertionSD).'.'; + + } elseif ($this->isAsso($ann->BodaccCode)) { + + return 'Entrée en base S&D : '. + $this->dateAnnonce($ann->dateInsertionSD).'.'; + + } elseif ($this->isBomp($ann->BodaccCode)){ + return ''; + } else { + + } + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceEven($ann) + { + $output = ''; + foreach ($ann->evenements->item as $i=>$even) { + $output.= $even->LibEven.'
'; + } + return $output; + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceTexte($ann) + { + /* + $pattern = "/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/"; + return preg_replace_callback($pattern, 'replace_siren', $ann['texteAnnonce']); + */ + return $ann->texteAnnonce; + } + + public function getAnnonceEntite($ann) + { + return $ann->entites->item; + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + public function getAnnonceResume($ann) + { + return array( + 'date' => $this->dateAnnonce($ann->DateParution), + 'title' => $this->logoTitleAnnonce($ann), + 'logo' => $this->logoAnnonce($ann), + 'idAnn' => $ann->id, + 'lib' => $this->libAnnonce($ann), + 'texte' => $this->getAnnonceTexte($ann), + 'type' => $this->getType($ann), + 'deleted' => $ann->deleted, + ); + } + + /** + * + * Enter description here ... + * @param unknown_type $ann + */ + protected function hrefAnnonce($ann) + { + /* + $href = false; + if ($this->isBodacc($ann->BodaccCode)) { + $href = 'idan='.$ann->id.'&vue=bodacc'; + } elseif ($this->isBalo($ann->BodaccCode)) { + $href = 'idan='.$ann->id.'&vue=balo'; + } elseif ($this->isAsso($ann->BodaccCode)) { + $href = 'idan='.$ann->id.'&vue=asso'; + } elseif ($this->isBomp($ann->BodaccCode)){ + $href = 'idan='.$ann->id.'&vue=bomp'; + } else { + $href = 'idan='.$ann->id.'&vue=bodacc'; + } + return $href; + */ + } + + /** + * Retourne une date formatté + * @param string $date + */ + protected function dateAnnonce($date) + { + return WDate::dateT('Y-m-d', 'd/m/Y', $date); + } + + protected function logoTitleAnnonce($ann) + { + $title = ''; + if ($this->isBalo($ann->BodaccCode)) { + $title = 'Source BALO n°'.$annBodaccNum; + } elseif ($this->isAsso($ann->BodaccCode)) { + $title = 'Source JO ASSOCIATION n°'.$ann->BodaccNum; + } elseif ($this->isBomp($ann->BodaccCode)) { + if ($ann->BodaccCode == 'MAPA' ) { + $title = 'Source '.$ann->BodaccCode . ' ' . + ($ann->BodaccNum*1); + } else { + $title = 'Source '.$ann->BodaccCode . ' ' . + 'n°' . ($ann->BodaccNum*1) . ' de ' . + substr($ann->DateParution,0,4); + } + } else { + $tabSource = explode('-', $ann->BodaccCode); + $source = $tabSource[0]; + $idSource = $tabSource[1]; + if ($source[0] == 'B') { + $title = 'Source BODACC ' . $ann->BodaccNum . ' ' . + substr($source,-1) . ' ' . + 'de ' . substr($ann->DateParution,0,4); + } else if ($source[0] == 'G' || $source[0] == 'T') { + $title = 'Source Collecte Greffe'; + } else if ($source[0] == 'P') { + $title = 'Source Collecte RNCS'; + } else { + $title = 'Source Collecte JAL'; + if ($idSource>0) $title.= ' '.$idSource; + } + } + return $title; + } + + /** + * logoAnnonce + * @param array $ann + */ + protected function logoAnnonce($ann) + { + $src = ''; + if ($this->isBalo($ann->BodaccCode)) { + $src = 'logo_jo.png'; + } elseif ($this->isAsso($ann->BodaccCode)) { + $src = 'logo_jo.png'; + } elseif ($this->isBomp($ann->BodaccCode)) { + $src = 'logo_jo.png'; + } else { + $tabSource = explode('-', $ann->BodaccCode); + $source = $tabSource[0]; + if ($source[0] == 'B') { + $src = 'logo_jo.png'; + } else if ($source[0] == 'G' || $source[0] == 'T') { + $src = 'logo_greffe.png'; + } else if ($source[0] == 'P') { + $src = 'logo_inpi.png'; + } else { + $src = 'logo_jal.png'; + } + } + if ($src != '') { + return $src; + } else { + return false; + } + } + + /** + * Retourne le libellé de l'annonce + * @param array $ann + */ + protected function libAnnonce($ann) + { + $lib = ''; + foreach ($ann->evenements->item as $i=>$even) { + $lib.= $even->LibEven; + $tabSource = explode('-', $ann->BodaccCode); + $source = $tabSource[0]; + $idSource = $tabSource[1]; + $numEven = $even->CodeEven*1; + if ($numEven>3000 && $numEven<3999) { + if (isset($ann->dateEffet)){ + $lib.= ' (clôture au '.WDate::dateT('Y-m-d','d/m/Y',$ann->dateEffet).')'; + } + } + $user = new Scores_Utilisateur(); + if( $user->checkModeEdition() && + (substr($source,0,2)=='JT' || $source=='ANTE') ){ + $lib.= ' - (Source TESSI)'; + } + + $lib.= '
'; + } + return $lib; + } + + /** + * Tri les annonces en fonction de la source + */ + protected function triAnnonces() + { + foreach ($this->annonces as $i => $ann) + { + //Génération id pour tri + $id = WDate::dateT('Y-m-d','Ymd',$ann->DateParution).':'.$ann->id; + if ($this->isBodacc($ann->BodaccCode)){ + $this->annoncesBodacc[$id] = $ann; + } elseif ($this->isBalo($ann->BodaccCode)) { + $this->annoncesBalo[$id] = $ann; + } elseif ($this->isAsso($ann->BodaccCode)) { + $this->annoncesAsso[$id] = $ann; + } elseif ($this->isBomp($ann->BodaccCode)){ + $this->annoncesBomp[$id] = $ann; + } else { + $this->annoncesBodacc[$id] = $ann; + } + } + } + + public function getAnnee($ann) + { + return WDate::dateT('Y-m-d','Y',$ann->DateParution); + } + + public function getNum($ann) + { + return $ann->BodaccNum; + } + + public function getType($ann) + { + if ($this->isBodacc($ann->BodaccCode)){ + return 'bodacc'; + } elseif ($this->isBalo($ann->BodaccCode)) { + return 'balo'; + } elseif ($this->isAsso($ann->BodaccCode)) { + return 'asso'; + } elseif ($this->isBomp($ann->BodaccCode)){ + return 'bomp'; + } else { + return 'bodacc'; + } + } + + public function getCode($ann) + { + return $ann->BodaccCode; + } + + public function isDeleted($ann) + { + if ($ann->deleted!='') { + return $this->dateAnnonce($ann->deleted); + } + return ''; + } + + /** + * Détermine si l'annonce est une annonce BODACC + * @param string $code + */ + protected function isBodacc($code) + { + if (in_array($code, array('BODA', 'BODB', 'BODC'))){ + return true; + } else { + return false; + } + } + + /** + * Détermine si l'annonce est une annonce BALO + * @param string $code + */ + protected function isBalo($code) + { + if ($code == 'BALO'){ + return true; + } else { + return false; + } + } + + /** + * Détermine si l'annonce est une annonce ASSO + * @param string $code + */ + protected function isAsso($code) + { + if ($code == 'ASSO'){ + return true; + } else { + return false; + } + } + + /** + * Détermine si l'annonce est une annonce BOAMP + * @param string $code + */ + protected function isBomp($code) + { + if (in_array($code, array('BOMP A', 'BOMP B', 'BOMP C', 'MAPA'))){ + return true; + } else { + return false; + } + } + +} \ No newline at end of file diff --git a/library/Scores/AuthAdapter.php b/library/Scores/AuthAdapter.php new file mode 100644 index 0000000..f72c6b4 --- /dev/null +++ b/library/Scores/AuthAdapter.php @@ -0,0 +1,151 @@ +_username = $username; + $this->_password = $password; + if ($iponly){ + $this->_password = 'iponly:'.$_SERVER['REMOTE_ADDR']; + } + $this->_checkIp = $iponly; + } + + public function authenticate() + { + $adressIp = $_SERVER['REMOTE_ADDR']; + + require_once 'Scores/WsScores.php'; + $ws = new WsScores($this->_username, $this->_password); + $InfosLogin = $ws->getInfosLogin($this->_username, $adressIp); + $identity = new stdClass(); + $identity->username = $this->_username; + $identity->password = $this->_password; + $identity->email = $InfosLogin->result->email; + $identity->profil = $InfosLogin->result->profil; + $identity->pref = $InfosLogin->result->pref; + $identity->droits = $InfosLogin->result->droits; + $identity->droitsClients = $InfosLogin->result->droitsClients; + $identity->nom = $InfosLogin->result->nom; + $identity->prenom = $InfosLogin->result->prenom; + $identity->tel = $InfosLogin->result->tel; + $identity->fax = $InfosLogin->result->fax; + $identity->mobile = $InfosLogin->result->mobile; + $identity->id = $InfosLogin->result->id; + $identity->idClient = $InfosLogin->result->idClient; + $identity->reference = $InfosLogin->result->reference; + $identity->nbReponses = $InfosLogin->result->nbReponses; + $identity->typeScore = $InfosLogin->result->typeScore; + $identity->dateValidation = $InfosLogin->result->dateValidation; + $identity->nombreConnexions = $InfosLogin->result->nombreConnexions; + $identity->dateDerniereConnexion = $InfosLogin->result->dateDerniereConnexion; + $identity->dateDebutCompte = $InfosLogin->result->dateDebutCompte; + $identity->dateFinCompte = $InfosLogin->result->dateFinCompte; + $identity->acceptationCGU = $InfosLogin->result->acceptationCGU; + $identity->ip = $adressIp; + $identity->modeEdition = false; + + $timeout = (!empty($InfosLogin->result->timeout)) ? $InfosLogin->result->timeout : $this->_timeout; + $identity->timeout = $timeout; + + $identity->time = time() + $timeout; + + $lang = in_array($InfosLogin->result->lang, array('fr','en')) ? $InfosLogin->result->lang : 'fr'; + $identity->lang = $lang; + $identity->langtmp = $lang; + + /* + * Adresse Ip interdites + */ + $ipInterdites = + '81.252.88.0-81.252.88.7' // CTE D AGGLOMERATION DE SOPHIA + . ';' . '195.200.187.163' // PacWan + . ';' . '213.11.81.41' // Verizon France SAS + . ';' . '83.206.171.252' // FR-BASE-D-INFORMATIONS-LEGALES-BI + . ';' . '81.255.32.139' + . ';' . '212.155.191.1*' // Satair A/S + . ';' . '217.70.1*.17' // OJSC "Sibirtelecom" + . ';' . '212.37.196.156' // GENERALE-MULTIMEDIA-SUD + . ';' . '80.245.60.121' // Planete Marseille - Mailclub + . ';' . '213.246.57.101' // IKOULA + . ';' . '193.104.158.0-193.104.158.255' // Altares.fr + . ';' . '195.6.3.0-195.6.3.255' // ORT + . ';' . '217.144.112.0-217.144.116.63' // Coface + ; + if ( $this->checkPlagesIp($ipInterdites, $adressIp) ) { + return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity); + } + + // Renvoi + if ( is_string($InfosLogin) || $InfosLogin->error->errnum!=0){ + $message = $InfosLogin; + return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array($message)); + } elseif ($this->_username == $InfosLogin->result->login) { + return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity); + } else { + return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity); + } + } + + /** + * Controle si une adresse IP est dans une liste des IP communiquées sous la forme 192.168.3.5-192.68.3.10;192.168.3.*;192.168.3.10 + * @param string $strPlageIP La plage d'adresses IP + * @param string $adresseIP L'adresse IP à tester + */ + protected function checkPlagesIp($strPlageIP, $adresseIP) + { + $connected = false; + $tabIpAllowed = explode(';', trim($strPlageIP)); + if (count($tabIpAllowed)==1 && $tabIpAllowed[0]=='') $tabIpAllowed = array(); + + foreach ($tabIpAllowed as $ip) { + $tabPlages = explode('-', $ip); + // C'est une plage d'adresse '-' + if (isset($tabPlages[1])) + $connected = $this->in_plage($tabPlages[0],$tabPlages[1],$adresseIP); + else { + // C'est une adresse avec ou sans masque '*' + if (preg_match('/^'.str_replace('*','.*',str_replace('.','\.',$ip)).'$/', $adresseIP) ) + $connected=true; + } + if ($connected) break; + } + if (count($tabIpAllowed)==0) return false; + elseif (!$connected) { + return false; + } + return true; + } + + /** + * Enter description here ... + * @param unknown_type $plage_1 + * @param unknown_type $plage_2 + * @param unknown_type $ip + * @return boolean + */ + protected function in_plage($plage_1,$plage_2,$ip) + { + $ip2 = $this->getIpNumber($ip); + if ($ip2>=$this->getIpNumber($plage_1) && $ip2<=$this->getIpNumber($plage_2)) + return true; + else + return false; + } + + /** + * Converti une IP en nombre + * @param string $ip Adresse IP + * @return integer + */ + protected function getIpNumber($ip) { + $tab=explode('.', $ip); + return (($tab[0]*256*256*256) + ($tab[1]*256*256) + ($tab[2]*256) + ($tab[3])); + } + +} \ No newline at end of file diff --git a/library/Scores/AvisSituation.php b/library/Scores/AvisSituation.php new file mode 100644 index 0000000..4e007c8 --- /dev/null +++ b/library/Scores/AvisSituation.php @@ -0,0 +1,282 @@ +pathAvisPdf = $c->profil->path->files; + $this->pathLog = realpath($c->profil->path->data).'/log'; + $this->fichierErreur = $this->pathLog.'/aviserreur.lock'; + $this->siret = $siret; + } + + public function erreurcpt($action) + { + switch($action){ + case 'plus': + if (file_exists($this->fichierErreur)){ + $handle = fopen($this->fichierErreur, 'r'); + $data = fgetcsv($handle, '1000', ';'); + $date_creation = $data[0]; + $date_modification = time(); + $nb = $data[2]; + fclose($handle); + } else { + $date_creation = time(); + $date_modification = time(); + $nb = 0; + } + $nb++; + $handle = fopen($this->fichierErreur, 'w'); + fputcsv($handle, array($date_creation, $date_modification, $nb), ';'); + fclose($handle); + break; + case 'raz': + $handle = fopen($this->fichierErreur, 'w'); + $date_creation = time(); + $date_modification = time(); + $nb = 0; + fputcsv($handle, array($date_creation, $date_modification, $nb), ';'); + fclose($handle); + break; + } + } + + public function nberreur() + { + if (file_exists($this->fichierErreur)){ + $handle = fopen($this->fichierErreur, 'r'); + $data = fgetcsv($handle, '1000', ';'); + $nb = $data[2]; + fclose($handle); + } else { + $nb = 1; + } + return $nb; + } + + public function erreur() + { + if (file_exists($this->fichierErreur)) + { + $handle = fopen($this->fichierErreur, 'r'); + $data = fgetcsv($handle, '1000', ';'); + $date_creation = $data[0]; + $date_modification = $data[1]; + $nb = $data[2]; + fclose($handle); + } else { + $date_creation = 0; + $date_modification = 0; + } + if ($nb>0 && $date_modification<$date_creation+$this->retryDelay){ + return true; + } else { + return false; + } + } + + public function mailerreur() + { + $user = new Scores_Utilisateur(); + + $objet = "AVIS INSEE - (Date :".date("d")."/".date("m")."/".date("Y").")"; + $texte = 'Accès impossible au site de situation INSEE : '. + $this->siret.EOL. + 'http://avis-situation-sirene.insee.fr'.EOL. + 'pour login '.$user->getLogin().EOL; + + require_once 'Scores/Mail.php'; + $mail = new Mail(); + $mail->setFrom('contact'); + $mail->addToKey('support'); + $mail->setSubject($objet); + $mail->setBodyText($texte); + $mail->send(); + } + + public function erreurmsg(){ + return "

Le site partenaire n'a pas répondu correctement ou est indisponible. Merci d'essayer à nouveau ultérieurement.

"; + } + + /** + * Récupére l'avis de situtation à partir du site au format pdf + * @param string $format Format 'pdf' ou 'array' + * @param boolean $force True aller obligatoirement le chercher à l'insee + * @return string Le PDF demandé + */ + public function get($format='pdf', $force=0) + { + $force=$force*1; + $date=date('Ymd'); + $siren=trim(substr($this->siret,0,9)); + $nic=trim(substr($this->siret,9,5)); + $fichier = $this->pathAvisPdf.'/avis-'.$siren.'-'.$nic.'-'.$date.'.pdf'; + if ($format!='pdf') return 'Format pdf uniquement'; + if ($force==0 && file_exists($fichier)) + { + // On délivre l'avis en base + return file_get_contents($fichier); + } + else + { + /** Initialisation de la session sur le site de l'Insee **/ + $url = 'http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp'; + //http://avis-situation-sirene.insee.fr/avisituV2/jsp/avis.jsp'; + $referer = $cookie = ''; + $page = getUrl($url, $cookie, '', $referer, false, 'avis-situation-sirene.insee.fr', '', $this->timeout); + //Code en 4xx ou 5xx signifie une erreur du serveur + $codeN = floor($page['code']/100); + if($codeN==4 || $codeN==5) + { + return false; + } + else + { + $referer = $url; + $body = $page['body']; + $serviceDispo = true; + + //On doit retrouver sur la page + /* +
$siren, + 'critere' => $crit, // S pour le siège ou vide avec un NIC !!! + 'nic' => $nic, + 'departement' => $dep, + 'departement_actif' => $depActif, + 'bSubmit' => 'Valider'); + $page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', AVIS_TIMEOUT); + + $body = $page['body']; + $fp=@fopen($fichier, "a"); + @fwrite($fp, $body); + @fclose($fp); + + if (preg_match("/

Fiche établissement<\/h3>/Uis", $body, $matches))//
  • établissement
  • + $tabInfos['fiche']='etab'; + + if (preg_match('/
    (.*)/Uis', $body, $matches)) { + $tabInfos['raiSoc']=trim($matches[1]); + } + + if (preg_match("/Dernière mise à jour : (.*)<\/div>/Uis", $body, $matches)) + $tabInfos['dateMaj']=trim($matches[1]); + + $s1=substr($siren,0,3); + $s2=substr($siren,3,3); + $s3=substr($siren,6,3); + if (preg_match('/
    (?:.*)('.$s1.'(?:.*)'.$s2.'(?:.*)'.$s3.')(?:.*)('.$nic.')(?:.*)<\/div>/Uis', $body, $matches)) { + $tabInfos['siren'] = trim($matches[1]); + $tabInfos['nic'] = trim($matches[2]); + } + + if (preg_match('/
    +
    +

    + + \ No newline at end of file diff --git a/library/Scores/Partner/Templates/indiscore3/header.phtml b/library/Scores/Partner/Templates/indiscore3/header.phtml new file mode 100644 index 0000000..b8411f1 --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/header.phtml @@ -0,0 +1,16 @@ + + + + + + +
    + +
    + +
    + +

    RAPPORT COMPLET

    +
    +

    SOCIÉTÉ : raisonSociale?>

    +
    diff --git a/library/Scores/Partner/Templates/indiscore3/identite.phtml b/library/Scores/Partner/Templates/indiscore3/identite.phtml new file mode 100644 index 0000000..312f12f --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/identite.phtml @@ -0,0 +1,68 @@ +

    FICHE D'IDENTITÉ

    +
    + + + +dBlock) && $this->dBlock[$item]['texte']!='' ) {?> + + + + dBlock[$item]['titre'])) { + $titre = ' title="'.$this->dBlock[$item]['titre'].'"'; + } else { + $titre = ''; + } + ?> + + + + +
    dBlock[$item]['label']?>>dBlock[$item]['texte']?>
    +
    + +

    Raison sociale & Coordonnées

    +
    + + + +dBlock) && $this->dBlock[$item]['texte']!='' ) {?> + + + + dBlock[$item]['titre'])) { + $titre = ' title="'.$this->dBlock[$item]['titre'].'"'; + } else { + $titre = ''; + } + ?> + + + + +
    dBlock[$item]['label']?>>dBlock[$item]['texte']?>
    +
    + +

    Activité(s) & Chiffre d'affaires

    +
    + + + +dBlock) && $this->dBlock[$item]['texte']!='' ) {?> + + + + dBlock[$item]['titre'])) { + $titre = ' title="'.$this->dBlock[$item]['titre'].'"'; + } else { + $titre = ''; + } + ?> + + + + +
    dBlock[$item]['label']?>>dBlock[$item]['texte']?>
    +
    diff --git a/library/Scores/Partner/Templates/indiscore3/indiscore.phtml b/library/Scores/Partner/Templates/indiscore3/indiscore.phtml new file mode 100644 index 0000000..13b28c6 --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/indiscore.phtml @@ -0,0 +1,164 @@ +

    COMMENTAIRES

    +
    +
    +comment?> +
    +
    + + +

    INDISCORE©

    + +

    Évaluation

    +
    + + + + + + + +indiscore->NbBilansScore > 0 && $this->indiscore->Bilans->item[0]->Millesime >= $millesimeMax):?> + + + + + + + + + + + + + + + + + + +
      + L'évaluation indiScore© est en partie basée sur les points notables suivants :
    + +

    Conformité légale :

    +
    +
      +
    • + indiscore->AnalyseConfor; ?> +
      + Conformité edition) { echo '('.$this->indiscore->ScoreConfor.')';}?> +
      +
      +
      +
    • +
    +
    + +

    Dirigeance :

    +
    +
      +
    • + indiscore->AnalyseDirigeance?> +
      + Dirigeance edition) { echo '('.$this->indiscore->ScoreDirigeance.')';}?> +
      +
      +
      +
    • +
    +
    + +

    Solvabilité :

    +
    +
      +
    • + L'analyse de la solvabilité est indiscore->AnalyseSolvabilite?> +
      + Solvabilité edition) { echo '('.$this->indiscore->Indiscore.')';}?> +
      +
      +
      +
    • +
    +
    + +
      + A la lecture du dernier bilan, la situation financière de l'entreprise Nom;?> est indiscore->tabInfosNotations->SituationFinanciere;?>.
    + + indiscore->tabInfosNotations->ProbabiliteDefaut) <> 'En défaut') + echo 'La probabilité de défaillance associée à cette note avoisine les '. number_format($this->indiscore->tabInfosNotations->ProbabiliteDefaut,3,',',' ') .' %'; + else + echo 'Cette entreprise est défaillante ou sur le point de le devenir.'; + //[EquivalenceBDF] + ?> +
      + Pour information, les méthodes standards donnent : Conan & Holder = indiscore->scores->ConanH;?>, + Afdcc2 = indiscore->scores->Afdcc2;?> et Score Z = indiscore->scores->Z;?>. +
      + La situation financière de l'entreprise ne peut être évaluée en détail car + indiscore->Bilans->item[0]->Millesime < $millesimeMax && count($this->indiscore->Bilans) > 0 ) { + echo 'le dernier bilan disponible date de '.substr($this->indiscore->Bilans->item[0]->Millesime,0,4).'.'; + } else { + echo 'aucun bilan n\'est disponible.'; + } ?> +
    +
    + +

    Paiements

    +
    + + + + + +
      + indiscore->infoPaiement)):?> + indiscore->infoPaiement);?> + + Aucune information sur les paiements disponible. + +
    +
    + +

    Conclusion

    +
    + + + + + + +
      + + Compte tenu des informations disponibles auprès des sources officielles + Scores et Décisions présente la conclusion suivante :
    + typeScore) + { + case '20': + $maxIndiscore = $this->typeScore; + $indiscore = $this->indiscore->Indiscore20; + break; + case '100': + default: + $maxIndiscore = empty($this->typeScore)? '100' : $this->typeScore; + $indiscore = $this->indiscore->Indiscore; + break; + } + ?> +

    LE SCORE EST DE SUR POINTS

    + indiscore->infoEncours != '' && !is_numeric($this->indiscore->encours) && $this->indiscore->encours == 'N/A'){ ?> +

    indiscore->infoEncours;?>

    + + + La tendance de la note est indiscore->TendanceIndiscore;?> +

    L'ENCOURS MAXIMUM CONSEILLÉ EST DE indiscore->encours / 1000);?> K€

    + +

    indiscore->infoEncours;?>

    + +
    +
    diff --git a/library/Scores/Partner/Templates/indiscore3/juridique/annonces-resume.phtml b/library/Scores/Partner/Templates/indiscore3/juridique/annonces-resume.phtml new file mode 100644 index 0000000..aaae30b --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/juridique/annonces-resume.phtml @@ -0,0 +1,31 @@ +deleted!='') { + $class = ' class="deleted"'; +} +?> +> + + Le date?> + + + + logo)) {?> + + + + + + + lib?> + + RemplaceSiren($this->texte)?> + + diff --git a/library/Scores/Partner/Templates/indiscore3/liens.phtml b/library/Scores/Partner/Templates/indiscore3/liens.phtml new file mode 100644 index 0000000..6f58ca5 --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/liens.phtml @@ -0,0 +1,127 @@ +

    LIENS FINANCIERS

    + + + + + +

    Actionnariat

    + +

    Participations

    + + +
    + +PP && $part == 'actionnaires') {?> + +Cette entreprise est une personne physique exerçant son activité en nom propre sous la forme d'une entreprise individuelle. + + + + $part)>0 ) {?> + + $part as $lien) {?> + + + + + + +
    + PDetention>0) echo $lien->PDetention.' %'; + elseif ($lien->MajMin=='+') echo 'major.'; // Traiter l'affichage ou les arbres comme si %=51 + elseif ($lien->MajMin=='-') echo 'minor.'; + elseif ($lien->MajMin=='C') echo 'contrôle'; // Traiter l'affichage ou les arbres comme si %=51 + elseif ($lien->MajMin=='S') echo 'scission'; // Traiter l'affichage ou les arbres comme si %=0 + elseif ($lien->MajMin=='F') echo 'absorption'; // Traiter l'affichage ou les arbres comme si %=100 + elseif ($lien->MajMin=='P') echo 'projet fusion'; // Traiter l'affichage ou les arbres comme si %=100 + elseif ($lien->MajMin=='T') echo 'TUP'; // Traiter l'affichage ou les arbres comme si %=100 + elseif ($lien->MajMin=='L') echo 'tutelle'; + elseif ($lien->MajMin=='E') echo 'franchise'; + // elseif ($lien->MajMin=='A') echo 'absorbant'; + else echo ' '; + ?> + + siren)!=0) {?> + + + + + nom?> + + + siren) && intval($lien->siren)!=0 ) { + $href = $this->url(array( + 'controller' => 'identite', + 'action' => 'fiche', + 'siret' => $lien->siren + ), null, true); + echo 'Siren '.$this->SirenTexte($lien->siren).''; + } + else ' '; + + if ($lien->pays<>'France') echo ''.$lien->pays.''; + ?> +
    + + +
    Aucun actionnaire référencé par nos services.
    + lienStatuts) {?> + lienStatuts && $this->FJ1) {?> +
    Afin d’identifier l'unique actionnaire de cette entreprise, consulter ses statuts.
    + lienStatuts) {?> +
    Afin d’identifier les actionnaires de cette entreprise, consulter ses statuts.
    + + + +
    Aucune participation référencée par nos services.
    + lienBilans) {?> + lienStatuts) {?> +
    Afin d’identifier les participations de cette entreprise, consulter son dernier bilan publié.
    + + + + + +
    + + + +directions)>0 ) {?> +

    Fonctions de directions

    +
    + +directions as $lien) {?> + + + + + + +
    fonction?> de + nom?> + dirNom!='' ) {?> +
    représenté par dirNom?> + dirNaissDate && $lien->dirNaissDate!='0000-00-00' ) {?> + née le dirNaissDate,8,2).'/'.substr($lien->dirNaissDate,5,2).'/'.substr($lien->dirNaissDate,0,4)?> + dirNaissLieu ) {?> à dirNaissLieu?> + +
    + siren) && intval($lien->siren)!=0 ) { + $href = $this->url(array( + 'controller' => 'identite', + 'action' => 'fiche', + 'siret' => $lien->siren + ), null, true); + echo 'Siren '.$this->SirenTexte($lien->siren).''; + }?> +
    +
    + diff --git a/library/Scores/Partner/Templates/indiscore3/ratios.phtml b/library/Scores/Partner/Templates/indiscore3/ratios.phtml new file mode 100644 index 0000000..9a3de43 --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/ratios.phtml @@ -0,0 +1,44 @@ +

    RATIOS

    +
    + +tabResult)){?> + + + + +tabResult as $item) { ?> + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + +
    EntrepriseSecteurPosition
    + +
    diff --git a/library/Scores/Partner/Templates/indiscore3/synthese.phtml b/library/Scores/Partner/Templates/indiscore3/synthese.phtml new file mode 100644 index 0000000..a739ab7 --- /dev/null +++ b/library/Scores/Partner/Templates/indiscore3/synthese.phtml @@ -0,0 +1,76 @@ +

    SYNTHÈSE

    +tabResult)){?> + +
    +Aucun bilan disponible. +
    + + + +
    + + + + + + + + + + + + + + +tabRatio as $ratio => $info) { ?> + + + + + + + + + + + + +
    + tabRatio)==1){?> + + Retour à la page complète + + + tabResult[0]['dateCloture']?>
    tabResult[0]['duree']?>
    EvolutiontabResult[1]['dateCloture']?>
    tabResult[1]['duree']?>
    EvolutiontabResult[2]['dateCloture']?>
    tabResult[2]['duree']?>
    Evolution 
    + + tabResult[0]['entrep'][$ratio]?>tabResult[0]['entrepEvol'][$ratio]?>tabResult[1]['entrep'][$ratio]?>tabResult[1]['entrepEvol'][$ratio]?>tabResult[2]['entrep'][$ratio]?>tabResult[2]['entrepEvol'][$ratio]?> + graph): ?> + + Visionner le graphique + + + +
    +
    + +
    +graph) {?> +action('synthesegraphcompare', 'finance', null, array('siret'=>$this->siret, 'id'=>$this->id, 'typeBilan'=>$this->typeBilan))?> + +Les informations sont insufisantes pour générer le graphique de synthèse. + +
    + + diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/1x1.png b/library/Scores/Partner/Templates/pages/themes/default/images/1x1.png new file mode 100644 index 0000000000000000000000000000000000000000..1914264c08781d1f30ee0b8482bccf44586f2dc1 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?ju0VQumF+E%TuG2$FoVOh l8)-lem#2$k2*>s01R$Gz9%CSj!PC{xWt~$(697H@6ZHT9 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/1-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/1-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{Lk&@8WQa67~pE8 zXTZz|lvDgC+Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/10-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/10-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9fc304aa332b149abcb82516ec9b5b885485d48 GIT binary patch literal 2248 zcmcJRdr;F?7J$P;9<|e2%3=YBNW^ZVCa@?N5GxQKMlhfjqVkC0B?0mv1d>1!@=i!X z0)!wTgg`I}1QIEN2#By+6%`e0t2l_*mKLX2fx?z`cUv~>&g^t%fBvoEEbE&WMVRz6bgmI;dFF#*w_C%{MR?5V?R5A zj7p9Th6g!0*facp^FdN_an#(L?KC_!e><)KM=v7ba^QGk9tq_C#@YQHd)A(fy*7%1 zoUvQRQC%a5g?qzKqCZjO;9EX9B}6VYk@?*x4rmP)<+cp5Y|3338 z`~5sn`KNr>_uUv3%+%7dN;fB-AeimKfyv~7ikjMRK2u#)%P5DowizH`qsiRS35=$F zD_RWh8GAdy?YqO4Q%3mEC1v&+SlU}qMntTGTER#CM{D3;(D*(GqKvbI50z$Z6qq{%vjUedN- z-V~;+Ib-Ifsv-_T`!5YZz(d1VMy>+$8sEbE?uSC$>>78Rdf2_UwI}wvcj=X;s3qTU zY-~1hs|>D9GN(wpcM&GsgLXgj>%18FQNk}r%qaZHU?TGC`OD1&aAR=>o`lI_#n3tV zG`@f;sw5Nnt|g$-oSIOsOy#CNm!xsg!VQP@1e4S#sqHvrDJOCDt-a}8VtJps0XjPN zX9)O<8#ix_1C!f;$(JHM;|SBP9(Pw+V1MbE__;Uip{ZArNA7~yT%~3jrV;)4BFsB3 z15@DP^=ZMtB5^VFH!pwb*#60%3icb8^It-(VwW=W@y`#5!8By~zOw|1Sa>X2mR%{yt5NW|B2~lT znA${sRij?3INHKCXq0BXvBFYkGj%s5we?+a>MiLZ4O?M+$BV@S*G;1|I`q!n2?*G( z@Z}?5iO&Hf;ud^dgD336Nb-BKsv8w=iCyB~riZ3KlqAA6yl+V2Raj?4VXcpD3-?wx z#n*;6e`A}QzSeZ>qSy6&`K2b=f;-lnJR9&!0$#$eGXcf&$Cryh? z+nQ#`JKt_XcT`)l^xd|G=Bobgd`;8kdgGv#T?w_%0R(*8-imv`_<8{R-#3AY6?;b6 z`WI$IHUsI+=J(Y7J3KzlK7H14e)AC(WDtWbgCwRhp3jF(Y)iQF8TRx*Uf>KTcuJ&w z{Zj-zx}qell#>-DU}43QgFJ;WPl@AE2kC2zcWbw*a$|0oeY1o>amt9WAb38v2utjPP7#2YDCYZub7;RZI^G z=EuEb@mi~oQB5ydH%rhrUOGIbp=D19G`dbbT2ZzZu7AF=m|V%pbmX13-_25)90FF> T)YhqhA^z`g`+<#r#J}R7&&tZR literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/11-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/11-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..55167070d03ad628ed3317a034970a208f07e041 GIT binary patch literal 500 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28L6oP9-HJ2?+@S*$|-kpWDwhB-q(8z|~04fSC~} zs`yXJxhOTUBsE2$JhLQ2Au%hlA}2pFMK3ciEuTU0CkrPRP?ZiyKge(fW;u>kMkYy~ zmR+*O!qFb{u734AE8Ls0YF*CjeFZwFIk9Px=h$`UT+#$ZIcZh?-5z=@%M)gCxCEy{ zw4C>2!lp+SsOO)-DbJM>DIJzw^1=^ASbtyXdx(4&}Mf!P7n5o~xu;Br9EVV53O!9`1tR4&*?$c`>FJ0joU)iD)|KVnp| mxk?V`bFF5chqp8;Lfi@zZx^LL6!uMp2Cz9NgEc5FzyJXBM2(mL literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/12-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/12-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..3dcce9ac955fb10bdc82eb6a3c091764fcac8b5b GIT binary patch literal 2479 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 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/16-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/16-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..40e3890140dff73869041ba2ee8ffaaecf8ce7bd GIT binary patch literal 477 zcmZ?wbhEHb6krfw_{hNU|Nnmm1_m=TGa#w>pWDwhB-q(8z|~04fSC~_^iRsUC^fMp zHASI3vm`?yF)OhmCqFSoFEcMKpF!~_3nv#)l@1UCjT2yCVA5^r&ph;YpM!PqIxWe) zO|Q6%;?g^1I_o0a*ClV6q}OxxW%j9W(_cmX=g?~FV8Ua9m^E)l#M7-+w~kVL8t$g<)t6z?ymWP(*zxe8~i2V6bJCf+xxWl#rF2T7Vd3(OIL0SDyd2qmMx^-i?iiL%f_59xXDBWW3W@F z9U-%7VN5EhC@1<6Kf|A^YItz~<*mOJ)U?WuH>Z7&P&*jZMdRaITF6Qs?cIFWp{c<#%& zApreXzKGeo*+)cHV@r1k;t|ZZyu({}=)lMVm=~wIyMn=3cSF1)$I*fxyS0^h3Kpu! zq^~vGYsXMg7CzFU1Y}bQ-X$MHYpV$^dQ47ds!2TsdC9?(sH%rJf@!&+CJzvZ5S6#Ms(okvlxx11a=I+S=`_*P&o!FiMvw!w~IWEDra zKBHZ3>PQhzSQUjq0ys42FoBdZWLXi`>;aS@=p>6X9uM$>6*wh^bDh`F%e&o@w1s(J zMXr~el```mBbJkad7-VoNU+jlj_Q64Wq3FfIJn!(c^2Sj!BSfmf&Z~D6kgj|2fIB> zJmig4lN-Yvck5tJvAEa#VVI$fb!LhY4huZT*45F_+Q?v%n3`h2G#EoE(IFFdmZe2o zF+iLWFY_3Ej&*C9l0?cb)Fz(mR0l-8EQ=oxtKub)epg>mpwDMy;qkoGWCnum>#%yi zt2^iedN^D>_9;fy!J#47!bPojbsK=^vcGZSpr1nv7d>e>8v6P7bTyRgFpyS`Ah5zh z6oUJl#B`RJWXVum9tromV~kT~?26H7rmcWtC{C6UHpP1GoQAk$1<))HO-7T( zTo!~M^TQIxbgBpy=wij7RV+$4(}v2mjTZFccQD!UEU zZ4!>6m_5bFoWxLdzl~-sMjAZl$mc&lyY(f*|?|eVL80ZVmEO+_Q<|*89X&t6L{QR5aJMutN_Dt3OytaEoq#dJ$ z=kDM79eM-A0|=uiRsx4Hl1g*YtldR$F-T&FojsMJcsK&}Yn^u9YLp-mBlLS2w+$MN zjTqJr116&x#MY4)w5vus@e??s>4!4G0Nk9PuY-nObzW<7xq_85et;xGxVJVp-M6)8 zz0Rnv_oh;~B?_TcM4J<|7`9wqx=FEAu`uLnW!9xVaS^x^98 zovT0e4Hh6e^;+S)(2lt)@I0JMz+cNcz6K4=UwE@QV0#cn`)YHKclSK;lqhoKsm3gn zruBy9bZrKOA7>8?71Ff$ zqL2^-D}w=~glg-;u`5>sNh@g6p}fFreemje6|Gj0#J3kN=Kq3_c>W6T=G<-lul@zk Ce59oS literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/18-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/18-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fd8e0737ed41ba0a01b98f40688c325d5574762 GIT binary patch literal 404 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 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/2-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/2-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 zcma*odr(tX9tZI2z31lM+(&YVk%mZ}5P~KlG2s=WSbGzm0!x7^P##Mnh7t-jP!X0Q zk_SQ}Po-L1tlDK;6l?(>v)e5ZBQx4|Y-Q?nr@Px3?9h(3ZWr3^tj=`TP57gKr87N$ zp2wWee1GRRCwo_xahnw)5cxNPJbCg2L6DV|6`#+yw6v6!mDS$f9-JvFD^n;GQ&UrZ zzh5jCkByB101O60U0q#p_1BM>Cv-vP?&s4@g_((4_1L=L$(a91)0=J91Gas#R{McE znYG^9*0A5YZ>#;~+Wkn(W5B0^yELIYLP!K}mB~<)AM@1&nqekynuaEGqPrzoH|KodRXJy)%+w_fu3nE5>@Bd_b zqC$EQ;{c`T&?EsNO|igL9gC7Ygxv?aQUEXMq?~>wg{EyW;VcJ37CUF#HjrT=KQO_* zS>M9yydXk18D(+QDJ1>r);Lav_uYKp$T?4vr{Q$lTo&pKv^?(>L-)G2*lwH!Ah7k? z7oH<8h-(KTKt5V6$8gF)C7Io&P5=SjTh)=zV=E2EUhQZP##L8S{d%UK>>+y82>+FV+#^BzW7u3F)Bb>=lYQ%%j`F>ASe zo*cw@V#u6T`A2He;70mR(V&iV&-7{qP~=SRf&jm9-T{*ZeZ}$rd0#6c&fLG^xJcf5 z+p<`wJYgW+_s*V{uI$nMB;%8`S_3>PfGOj3Rq}@Cx^+j?rk92fANSFDBYnOqQ>Vdj z)(|$AhP4t&Lb=Gvo2#3Gl%9<=Gv`Mz?Po@P4iLF!x}GUWJICDlFk-hS^Whyh7x~VH z@0vD1>HYD4&e+~yzS*-sFR{9`{QEEZO1zg7>R&7cHts-6j!xHVdA8eI+ZlVzd%`es zJT@$#GX(gvCJ1oJN%yLBK}{V=V;seo;!w|Yte!W1%5qLNFWqvZW>h&IiH+oPT=b@E zPhGzv5=(Un*X>v`>%8h_nj^NdYcE6NHS_ifkCV$*D)Tqrbu`s;<=t<4 zAHNqNV?6(g<1PY-w@#I-WYFViz?9TrkMr)u0g`O`u|>T;k|2sV*YF^punvT;$SuTy{j3Gv)yqD!R_CF>yR)MzmmYS5v+~R zXAdD%ng9?df;wd8GxR#%3O+gz};Vo;)sK%Bj-q>Oq%R7JU-KD?vYu>#2UjaDo z&8$>5xW~?KPD_#XFToU1hIb*VOMidUr6iYiO0N|i-7s`T8!cFT`rN!^1Pt78J93i6 z5HI1wIM$94m{3SLDvISDe6$ZG1;eq_D9RTaaC>=cO{@Bs>$IlPCPJJ$h$)-3vzNUQ6OsN#_zWxey!_9%hxwH2_dEJi=yY|1c7nDm2_Lm!Cof8-R_+9UkS zcBE(o47yE)oMR(Q=dp1a2wTX5KvvGyLqlWTa7V&!A*|w|)ax~1_~aJ0=_Lilg*0iQk7#ZD EAHN$8j{pDw literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/20-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/20-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..e15844396f9b8c4d915f5cf595e2a22014a24426 GIT binary patch literal 4176 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 Y#`Dx6nd>%kIx0NRp)dR0fBtX$58}9UkpKVy literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/21-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/21-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2a116c7280b4d9786ddb960fff4439a542866ec GIT binary patch literal 9427 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 OhM#~I&wK(i`}3bHw&zm- literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/22-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/22-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..65bf4030e793d92e60bbf84785a1ddd88dda0847 GIT binary patch literal 3494 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 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/23-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/23-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..2538b9c7adb3885fe577202cbb9529668f948f69 GIT binary patch literal 496 zcmZ?wbhEHb6k_0K_{6~Q|NnmmFo=nX*|KE|gbgGW|8x7fh6Fo12DlpO889<~g#Jl6 z7o{eaq^2m8XO?6rBxWU6Zz^Vo4>(*m)> zOX0{Ki`5Gc{*b+{$+B>2YTGO=>wUpk?GOjrvG38zpT`zhWV>%uTEJeClsPY>OBI{p zA|SPoPpYdZ8oxff`+tH)pUMniIAHn|tnkT6^JRN2^cO-DPQa>A80l)r?GTxvpmo@xF=jFYgEc4~zyJUO C-HF5i literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/24-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/24-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c72ebb554be018511ae972c3f2361dff02dce02 GIT binary patch literal 2545 zcma*pX;2es8VB%~zPr=ibVMCx-JQ^BhLDAsK)^**h(ZDp9YGuzZ%~j!}+w%FI;|aC7){7CdVvG)P{bng1y9Te*f}~*`1kQl$jwb z$tlW~rRS!X?#xfm_&6tTdp_`cjgYwbRFLNdoJCN$S-yhg`ZnC-yvedRSmOh%;Y`Gl6bY$Z-}#C=#F4%9!I1b zWQ~f+9P?;vhCxWwlwl=lrWG|7IYo;{jjmzJ5R9?f>n%-d@>kLINUc z4wM5dAO;kq<$}Dk{2-u0$I6@2N}&cUx9nmV1dYc8jfC}%=F9WCg^OQK9C6poh#2!A z3^EU*UFZvS^)?bu3T?J;@Ahb~%I?+@4!l5!*TjC}GIslNan-RCrrd~PdHYnNLJk+m&`$Y+NV(e>CCu%R#_8GqY4cv#j`#uRWdsg9DxWy(?oOvgCU}&@jy%c!H&-Q zqXJxajAtmQRoRa9V-RFXXh-bK*;Fum{BjpkYQGX~i@OZ^Dx0n&H}kvGKqQ?w(6iGXu_g08T|_hp#ZvFzIwKF*a=oMJ~3UGAjZ?g}GOxm44td zXoyYrU*I=y*vHv89hkYH(v5R#wc)BC3dZJKb3K)f>zaM3%JP(mpecViP0eKKYf3zy z->jx_mc?mCtPEvCQ?uppk?eLJt}_IR7giW%Jr)RyI!+E-voIs*lXI*z`GQc_&D#X( z{6G};HPYj6O|$lXxBJeDaweqa{4L=tOZCjTI^&UOxXg})LRG_cr^B9Rqt(i5ORbQX zq`_xCRsH>xEYY%&*Nyi#{S_JZNlTm#K56`RI%7^amom;*h90Si&g1CfaFV3D|a!`3Y-GKKbL*KSbl z>I96`TR@CqPJl(>QqB~RvK~-U)`e`l4LIqj+IU^~yyIe*|BRVB>4Bup%j{tLdKz4j zY^<8P8m~GRGz*yv0&-RJE+-keJ+%m3wNeopzsltWd->eWmBVwUr)pX` zK~CD<;~Z*Uy3W`3+MrEYxm5qYQ!z%YI;y7DTG`UVH0;@{M{!B&id_}3DBQ?zsotuR zEGLdRx25nLm%-wjlnEi;-aN_1S7???rO~WgA67jjr&(vRa3y$u#kqJbeKnw z{!T!1li9>M+sJ6AUe+*9d}2uGjhzd z|L1Rtp8uTGYyZoQ*`DS^m2dw-X{a)l+3m?ncvn^+O>)hdd3(hMtlhkRGns{<8c0I! zDDjpmwtj?@!6kA|iu3q+Ai;@JR+ zfk+ln&YFC{4bhK6IxVgLs4W%^8Lk`qzWU*L>yq0A3;l}{!wKZ!ue)C)SKI)9dl1hl zhIRLV@8E}rwvE{gX(}$f6x*k)_`*Ijt1=EU-Ls6-(phomeQBgtUs z5Xz~Cd*nE)Ac!0i4ep}Z1AugMB(&F?)#CU{Qc{Sp^vKsdL}vRB30H+Bbzrn`M##H3 z{W8dc_mDroEE+p8_}mnJtzZ4!RNe)zhB)Ds;S57nYSJxtek>^~&(7B+N5MPf2+2xx z5Dl&4X|c@f{Kd|z1r+N|$DmsoVp*3yOdxT^J^-VAk)Z@$4^XrPrFP-Co+MXZ+KJ(W z{JNYvraLLWA;&tRhIKOvhW|HC|L-dLvAUF(MG0(Nl?4tB{RzN7I(}Cb%hwN{crFC8 zji#aJElKvDFV+&VI1V?oUMA>*kto0^;3W8FQBSZ|{ z$v~TqE=(8DZa^i$^oht&h};P1N&wMXorKh*Z68gPV&ouy>%f36Oqkwemyeas$Qbz# zV?7Jy%o7KY6^I=P@eCji%W`o5sf(5hySYo9$l4e2`(hIV_?=H-#R6}0$WVA|*(K@3 z=5?@RlcLh(meW%A4)hGzcvEpm(_w?>zhL*i&s9$2>r zAtk{8Cia|+Y+V!uX9BtpXoF%lswuRKsM!pSs!?yhlCy!269K0|b M?FSZn2B>%I-}ej|s{jB1 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/25-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/25-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..c69e937232b24ea30f01c68bbd2ebc798dcecfcb GIT binary patch literal 2608 zcmdVcdr(tX9tZGC9yiG~=H_*Q-0%n(kWqP*D#hw{AQu8;1%gl-Hrf&{2?48KX;hHy z3Ze*zEz4t3XdUFyLbNPUYlA`|B}P=N1fqtL1*}S;87#|-W9v<#G;ul(e%d3)N(^9c$d2Dz{7}?ErjNd;{EMKkCsk21~b9Gvg zDo<7L=3Z5HNbVlZUcm1eg#o#CZCJU`3IYHwM->zCd?uYrF3vKFeM}v?f+%s?E>ly|3W25ry9#NNbTx-}0ON58dTrs^ix{_1O0Wh~SVSBlH)Ajn zPn^Gbjz}PCtN@#keR&hK&Dhl-b$kZ8^S)x#dh0{7X=X%CCJk7P1PSO>T&S8I4{#Lg zb5#)o=;!ZP*1nM{cI4@(x7o27*SA()NHmrn67aN@Pmi~(i_SnrjYnwh36aG%!@i0d zqbvfa44f|?OG4ntP|nbjhEl1)Yp6ZN@yjy zy4==QmLy%t;ps3R?~f2KfTTI|2?q8dFd6^z5GF+Xa&Y)sjG)hxit80pPcOP zJ z*LW{SyGHD%hUotV+W%I}fBLAIx!8|7#}$;clKQ+{&FjDqGQ2ZNx(lYM3*%~}ILnao zM`aui55~ZFJlu^!5rdA9Q_7H68H_;##u{x(Yn-vSfIRCb^Nqsg zGRS!Egm>h+o<}LeV4&CLReo9FrDjDvs}8?JwC)#Qs|ie=r?~xUh)&*d`Fx>FG}%X# zNdtDHBKhLPC0wpooFDAQKL%*6T|ULH$=wX!NhcasgD3d;-d$I6yRK3yN+E~C1335_iLOt+*9uvSZ`>*KA}vm}08wRq=>5l|t*Na&jR z-C1&C`nkEk#sB|@yyt-#fXngP04My zm7u$Q%EJbHp`>~`5W&L{W!6`y&}LMS;jfUpgO~7TLVMRZ9IC)IZp0A${`yp0{&wco z#1nx@XMkhqeK%7?RE7JdLr1^nwFfaJ0Q&Lv?WNJ%9}VSJsNY2+UYs2%EU0J~ayFXv zi*?7KCXQHkD)O6!0Q%4N+HTODHxJ{kQSuQX$l-rSwkwh(zMkdfzxyGwl@yHC)C4p< z&n2%8#M?)Q@mgHL1ot8`SFdSEj9ye|jHy+U8#@HoUExG=@AVkRAe_qYm4EpzK6L*& zh`)26?V#f4#_h^P9G^%>h2-H3)$QP zQovu6J9qDvsxqweDdNNa!Lb?L4_UF{tLX_nN7r0U_vF14YKcGR-*Gl} zx3oG)bzf|65dBxD-;2ZCp??K;+TuQ9onnK?==5hzbkb^r_g>z4#D8mcv8(+XdoszA zCx-qhdgxMNMotj}SiL_6V(tLcsK7(M(r(%u<}QrVfOvyK6_;~NOTlPGfX@M7S5YQF z&*$(ylJMHJt^_aQeu{C6NaTE$G3HNN@_SnN8YcaKn%`)F@~L1x+ah7-gEJPpc6w%3 zyX}r+Qk$4RHZzfH){e~F*qJ{d*L8a6n4;U?+{de0-t)mal#TVxe)3F}^UBh+zd T)6_**#cgp_+?JL9(ew3BlNF>u literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/26-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/26-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbe59fb438d575e2b8aa6b356b5c903dacea6cd5 GIT binary patch literal 8787 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 Z!QkV=)ywzNd0AvD_s_rnLh--P{{SmBg>3); literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/27-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/27-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..ddb7ff1aac1b2fc825667c157873c2c55bbe8db8 GIT binary patch literal 1924 zcmciDX;70#00!U)Urs41ND>$3-?7cZa-C@o`?~}E+$na_sVK~an51Y7o6Am#OJGNBi-|v-0K)zTz!9cZZmYYj zeiQ^4Hx2}<@9us*(zz1hB8-YDCx|yPvMXzQM{_K$!h*iJ(7x2j*bY>E)v;gG zt15c?^oIWX1BxEuJ?E}-N%%X2$C&X)nYafzWBB27BZK9$hH1k@-(v5=%efcJKAYA8 zj{X%G-GGGnp>xBKmtR{qyXkbXi>i|w&^A+i%*o~apB=fnp1EvhyA8i)zT0!ZJK|=f zGujFu=8Q?f@YHB=vJ&Q(Q2ooMB$CxnsQ@;Cl88SakbL=c9-bR}Cd`4o_e-(kkx-G` z1gxmM5nm)f#c{~lR_t33s5hr)1~uEaw)kjKO}BP*)>VmXx>RQ1;1H?TbtLMnaSW#; zj9+XgO*q{nKEpjQb`O`&-Jk8B)-S0R`xoZlkUo^CY4otNIEG*Z>9xBj^;cd~XE!if z=JK3SR%Kh!+&qgwp0nLox=TA*jYs?se%u2xUeoK&1u^$dFrFz~jrhLs@UeBBdpx|M zY)D3CZeBjWKwtxdli{#JJ47_Xo<)bn10rN1&s7)?M_u%xDH4!1ac=bhs)DA9u4+yx zQz*rfNSWBSxTLdtwZlQ%QWxV{Y9-?#zL7M}ttCzze@xWkN1wM3@#hRCqG74qOeC&J z9C^RRzb6jvbS)W0Nd^=G0Xde#v6Z!xx5H+VUZrNmDp2GD$ZAyrrw%!G2FskYEUNL97Eu}MQR$IyrnBkg(h1rW4yIQEM3J@S3&;1KqjvtHc)u##|B-p#vH)WPhuYi^mQjj0C~N7S!=n7H-h z)-{F0|AmmcM>roo8TLt*J%^c#&ZiY1FVl9S>(#+iza>x4q)s+Z@gD1* z@P^eR(w@FoxHWz6T{O`R|GvS0@PW)Hmm#QRgaoFdRCosCuGa!^PcBA73HQUcl65Dr zO|`ePK2pY_S=Cuk0cLN5NYeIMmj@%E-?ilgU&#f%3S_8AdaDu z`F^)`6_9BI%cf+|5|L?q0A9#NmQZLMl$0#@LkamJueh-M5`ik%{!(^MZk{k*qitzz zdsl7?nA3Imb6iI@->x5 zwXc~EZZLz-aKH4hJ%XN<9U8*$f;BXGrEQ^o=8paJ`*iQfV=)}tj7M$B9-E(t0}WI5 ziiH<<@gb})LXWcd=N1SGi;6?d9SD)&II^XLelX2e#DZKujgFz0`cy~Oo<~(uRW#l% zG_=kVdRXZIt%P()d)_@2TRL5aa4qGGD&I4tJNR+p1a_1(jW-f!2MXqTpXs0WExsHx Pn1F;$An(;T&^-PCGf5vc literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/28-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/28-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..078b55fafd40f60c392082f0ce8dcdfd552dd15c GIT binary patch literal 1456 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 KboL(lcKscKb)zx> literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/3-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/3-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..408af5cf25eabba6e9081adb5cba2755c2b9323c GIT binary patch literal 1079 zcmZ?wbhEHb6krfw_{_lY|NnmmFlcIODk>^kv0}xZJ$ufbJ9qEiy(v?sym;{D6RHXyb53-bjMO)y6=jy!{{s(vezvCcstTEwX#Jq5?St}Iwt$DicW6$9rxI4QiW`H6YC9@Q4lw#{;m{APcJIm&rUn|A4ocTkW(XH2N%$D7= zfJXIVH452p5TgXck}H>KU!Ao=t3!qNe$KyJ7U8;PGyghx^yBs$QVh#1Q)u5P@X&Nx zde&Mst&Ws8VFlK!xB6{1n($$nrd0n4tTC*H6gJxgoQ2YoE0b1gb}ZputuM7cocrCp zXa5fG`8wu1Dt3y~23$T0#jMTy)PK{9I27O;by$W13me!Jtu R8 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 O(9J%VfB5J1as3-`K^%tw literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/34-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/34-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..4fb7c23522355304d8a4a85711a6c5bdc3b57f39 GIT binary patch literal 4782 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 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/4-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/4-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..e192ca895cd00d6b752ec84619b787188f30ee41 GIT binary patch literal 847 zcmZ?wbhEHb6krfw_`<;O|Nnmm28JI$eppyow6wIav9YPCsa?BvZN-WeVq#)tWo2n; zX-}R!nK5I=v17+PJUqg}!hq_D2a5l>{aizWogD*Qjr0td8G$+#|4BI)r6!i7rYMwW zmSiX-W+hhSNI#p{aB=u^kJ9BqzM)+D@@g7D>_ZH z6>Nk>K2^#dec$hd&5{fSg)a9?JsDb3M<1+M;h^GLd*HyqYe$(ldZsj_W{3#!96X@l zAjsu&py5MupnEfu)0U^(0!(Kp*sL-QO$pql{X%Kq;`Av7E5z0lI$B?E`RzKdsAZ)9=nHHN!5+~JF4SY+VADb}iE(C2i8t1nx?>)BhL zPS>_TA<--6ZN7=uLx=rfr*28JR#UU9l!(BR!@3s} qR&*pBVEQRw*vTQWVY)*bLIMx~ literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/5-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/5-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..3288d1035d70bb86517e2c233f1a904e41f06b29 GIT binary patch literal 3208 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 D?d&fs literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/7-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/7-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..c14d37553e505f4f01749f4f5635d7e10cb0298e GIT binary patch literal 529 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mCA30U27f_WB$Ow?(49wCTyNpbdJYSxe zeIv`}_0t~a#+1x?8LQUiyxzr$O}z}qt~-256BOkpr`($QJ8Z@`*Wj;n!Rq(rGvU(k zFQC)0t)pvF*TH{tk0l0|mO?aSV$}e2(Vc$=r%oPGa6aSx;mrd!zR9hbAs`p|VRaEy zz31w+KxZveyUo&f&%)>Cwb-23T3FRfLCp7Dz1QNkCY$7;CxZ7~<~_13kh`IR&HXUt zuSJ@942>^dRxf*0kUD$mx}4isl|x+PW_UtCC?v`F|IKTjQ(9BO-ra=NHTc8R8Wd4r F000zFq_F@1 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/ajax/8-1.gif b/library/Scores/Partner/Templates/pages/themes/default/images/ajax/8-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..d84f653789e5008da64ff04ee109471284a9e284 GIT binary patch literal 10819 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 YLK+Jo=$s}rCC5K5;tJ&Fxuehj0Dc5&@&Et; literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_greffe.png b/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_greffe.png new file mode 100644 index 0000000000000000000000000000000000000000..f8953c7d84885fc66257c3c717fcc14c72e6cb2f GIT binary patch literal 364 zcmV-y0h9iTP)XFbqYX4EI^!fUxiY*&rOnh4-*V@hHj$8Q=;A zxB-$n0hB_PEctZzJ4@u}`=XuqKAN#Ba7Y0#3y9Fj4CZ;k?8+!Ip?bmW2254a6*Cag zlQE5<6Va#&s!M51MH3>~nC31Sry3`sF@2%w!hW zwt$H4X93VcFqj2Y7vk@Cth1THwt1(zAfkA`?8Zkkz>p3voK>6EQPy=W&BcJyucaYp z%`{ogIad!F9!&*^F~*uMt+dr}ck)CchiP8viC`+ob0000< KMNUMnLSTZ7Je literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_indiscore.png b/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_indiscore.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5436823e122dececabb5716ea7c7822d74b1a9 GIT binary patch literal 2682 zcmV-=3WfEFP)pPEJ;K`RCt{2n)_25*A>U}k2FmubsUp8HhGYEGU>E4?X>AQ&2%#E z4^BEsj3h8Kbz5o~d3U9i&`RPFAYg%zgyY&w!(a(X*ya&LA`5H>$D}+QV-KbvAt9GE zfCG9U?Y;N(hbuNpoVcX64372viM@Ndy7#l^o_o%oeF$;_0Dy-!dIFn8IS^^(K%|ue zkyZ{wS~(DD2NsO+S*oD zR@OPadkq2r5JDF&T(DRyjg5`wyRF8?#>U3R=H_ONMpIT+wz#;s>D#5CDJ>I)DCr zQ&UrObFn~uL}_(0;X_aHXJkx zMy*E6^SowF(i)_eOm9l#MJX7Sy74@(R;#5x(oh`7m6VixD}}oOf?z^Kj0r}N!YL$T zK!{*5DT)}9KoVFKMT9WIKvEbbMKLKNQAAiItCR-D7!f=jm^SK78b+IG6b!@gJkN2Q z1V#Fr<2a7vc%IkkbR5UAESpJ9q9C=a)#}5C4`vis zxBB0FqgAi(Aqe~*O}zQX_w+hvEWTwE3{_d7rAn+AYu6Om%MbKl!X z4;`#*ZnBS!jfKPExw*OP*RMMq4xZ=DX7lLi=-k{~AQ15ReDsv9t*t$K_U!EJ?A+Yk z(9lprLj%JwZnrxS2n-Dkg+d{}-_NqF$K#oqnW245CewGB!(DKe1d@b^0MO;R^y5d$ zfAve-7mHCX?|Sr+`X{%))75pg!!`Esk4&$=`tH(7{I3T*KYh6R<=-Cp(_cDw)4 zPB%3*1ptvqWOjBI0B+p4QBhIh^Z5V(Av8HT+0oI_-rkNe{_@K&gTWvGjE#*QIB+0a zTLS=7kJsBhvh9hASAKW&^QEZ4aC+yHN1ob#n)!=k#}V89{ci2qDYM$pk9uGyM)9H>KJLdIz ztyXJWTN?mOPfwdnCZ6ZV$HxJnySuxuuMYqwCMIaE83+V0#tw(0wzf7L4iiF*Mx#t7 z%gWY}K=gEvmuEw6x^+`{^PXhB28; zX0urkgwD=R02m$~<~XjbtgOGk9{>gh1}Gqx%f+%R&+|8K+`t(7{eGv@>2kT8PNzzx z%F>G&M2JW*0f6o^Bad&X-2I#PzF3S2ddJqEn3T#>eZGlj@(tVbj{M=Z=B1Uy-%8JH zeY8m-f4~33>w8{1zT-)a+kN@saOm0XjRpBN2M;y%^mPvp57WYIG#X8%QXY?Ib#*l! zkN5QSOioTBguGsFZEfxH@-iXB=ks-UcPA2wWHM>BTD@K`0CaYC(!*tFXb1pCM@Nqz zKR!4(==FM)O66@%jXSAyAwm!Z(c3fp^i%3Rzdy3L5Un!0^7Dj4%63G6V_Z)^RsO~s zb&IhC!?qRV*Sz%nJ1;&byjW0KRoNAdtqu7@>pneG&nIamrP**SYAnd_F1U^ql;RdQKL~eG&Hodw6wIen9XJ> zj;gP(x7+PjtF^kin&UVcM^sf++3j|_-Ck2uLrtKjrp9i!S5;Nf_)4u-3xYrk85WC0 zqtO)I@)kc6#GP0KAs8?sh{UD1ksumY5&&AQz-!FDF%$t12})l?{v9$1mAppFvMj?e zEXzu<6OE}@mStI%hK$lWX-~CUOJ4m|H8AA#a zoX#FF5P|{X1Xh6n5JU({rx}3K|3VQ0ma?v3AY{;2X?d+ytJUdrQfRo&JmS`#x3=6S z*H9=Fg@uI4yx6k2lAcSD8 z`1rtqkjv#Vne61rlTsBPV@#{C4-g2sTu%K0U3q3j{y_mD`30xb`Mvx?rhW(@WHOmd zChO?vko>~`G2#0jgiI!r%jIsjTl#{N5VE|y91I4RmXs{#xlrC?t+mH5rb?-o6jOi=3@5+Ltwb5iL obHSo0N-cB{>9Aa9a``{?U!jEO8)B94OaK4?07*qoM6N<$f~Y*^;{X5v literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_inpi.png b/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_inpi.png new file mode 100644 index 0000000000000000000000000000000000000000..25e0b68e6a50055c0988f2af715a277c345dcd81 GIT binary patch literal 1383 zcmV-t1(^DYP)xOi?)gi zw4jw%idJ!I8M~-hooXwhts+=#omv?|u>nNTvV<*!CBa~^m;_Anvc326Zck*!Ki--1 zyi~>G zMbCU~j@Pn90fF2oe#9GGu9Ksa17_I+7$Hh$K$xK@qi$05lrZUK^1)77-=l6xM_Whz z&6=N2{7{gcyJP#d)k0Je}=FaU~ zH8nS{R9?w1EXdfoJt;M{sOVrt`7iCwtt3IfRZ-P$>j(`_H48}HA%+R#iOqk6Eilj*k?Aq3( zmO(>GRo#R3=E0#ykCiHlmW_?dNhpbkP+hrp|NkKXH<1}f;)+%PZ$+#Z*S|PEm=DWnqsV2B3CCC9d;4L-|Lrw z0KlG3X!d`305JT7wMvUQA!jdg=k#D~bGIluk&~8wUDgM=FK^O zREjKi^GIh?&*0UaRB&OsjDT|j5Rcy5T$clVC!kwG|656e>pvHTUm-J|_=En*JW zf4<}EEnQEx{(2P&<0>DvcMJ}fo;eq@B3cj@aq`>JNxf}sM7wq)53hcp(?R%#2j=Hh z$_F4>wOpRekBJNq>Xu6Zx391WGRoYwe`WF4GZWX>$`m*5HkOop*H|akD4${@ML{=U zylQ6-VlN&5s%PLXat$XlyITGPoc4D~R)vN{g@^PGff(-S>gGoZSks+?vI^WbW?cKH z3ks(tUQ~~wu$d%Gwr=Nd-Hkj0dVx*_eHSKLyeYf7e;nw#r9FbMkZ@jzbYKv0G-E9* zFGq8n-Gu2bqW7vhq`+hwN-K#?1Z^-FC@c62PR&9K{9Ax-aoOsH$tg zO_;<@+ne##k05*C$dTF8kgL<&b7dFJ7D}ao*~hhyI=$EK2+AxdDz8+M7ClX2(qz?6 p&_>7ySN+`@nwE_s)_qX+=l^VUZam+(NO}MO002ovPDHLkV1h#jpY8wv literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jal.png b/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jal.png new file mode 100644 index 0000000000000000000000000000000000000000..d46175ea2905f8e27b5cdb7a7cb5d80296ce6f6a GIT binary patch literal 463 zcmV;=0WkiFP)5lRa+SFc5`526Am5K!7I5rdMwRVv6+c=9ZKebXFU`MpPjL z@cy{}7a8S_l*m!W7!9y-e6Axkvp=f}=&Yuy|9^zYyAuXO+b002ovPDHLk FV1oC)!^r>u literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jo.png b/library/Scores/Partner/Templates/pages/themes/default/images/annonces/logo_jo.png new file mode 100644 index 0000000000000000000000000000000000000000..120b194f745d94fdfeb61fb520bf6342ae50c2a1 GIT binary patch literal 595 zcmV-Z0<8UsP)UQ%z_SK^T3rrdC>!p!A@ERuPH^ElSWsz0@9xXvLqS zHxYzh;z_XJL8$hiB%q-nRJ?>pQ-ZxH}@xJAssxlJ?p+@Qjt^O>cpjbdgV9rr4k)0BCiCbz_$RV63h< zf&-(p3Onk+I00ZHo+El6aU!0hPV&#wF{+Ue)kuf{Fgcs&wFmDUp<1o+&chj-@DILV zvb;g{=CI9Gt`4_!x@X7AtHf8_y54VZ5ro{^iR$~L&FLSKSbzK46a{)wD60ejWo1J{ z-%-E&5%zST{bh`$B>=$Cz)9qOnz3^BR1cQdG*_aaL_5SjpA##JDIUFXUL@v9u0(xn z2c3sH>~+`uyXd}r1ptux{0kRPA2!7Rz!uN^t*qn1@heYE%!RI+b--p$1tY|5)}}X*Ih)#zNLeuG3T-hW&E=Z? zl?##n^36`Up)dTyjS&ufk)&L;X5t2w3LWSU5~#kFT|MZFF5B@QW?{fI7SVo7BtK>^1-|XPr)Zs3QDFaXfjXcQ!W_OKuVPF zJ|s0#OBvqCQ_@7aVTMon5m(q4hk(J@auUlx3rGQzF$E^$6gU}@VajF1fiNUCVoMol zgp@cDr<8$-5Qt-97ko_WOeLt8cjhH{$cv^B6ij2#XdcYR;2kNDI`S@`msC=Q7xIua zlE#$bW8Mwuj3uyG21-B(7>yw?7{|cT5Da53BX)!?u@FnjK*_=K7-zC&V9c?BQ`D44 zEox4~%vbS2yg5&K@}lIFM3d7bp2R2T11Nz8@FA*!TFmeUo^l_^tulN954b||R2>Fk zb8M1<=8zmFVRB5u$#D`S!IaB@17L`3z!o#m04Z{sNtl5N5P+SiI2G|uyf_ceM^SJJ zqS0v-58|Wq4irEgco$VbC1!ZZsiH>E7&Cm#yAGYOI2Or3aR?5hFgOO`=r{_3V9aIt z)qpOt087k3$$272$iHOJ0%|vm4xir-bE;tUg(IK6xp4OV zkG(unH(uy&Xk7Mi@9_Tqik1VlUySa2rnzm2g|@+S6ZeIt8}+s{=#({#P#pYDAX zeOI4byL#8u(5lOYD<9pucI({sYkQU+Z$8>TwY`4q^18X5J=+U?^y|SV7IbbK-go!6 vtD0Ju-1ynI)U3Jd;H%Y*eXVVkxZzMo{RclSdAsuWj`!AYjW4w~6(0Q`nCS=M literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/boutton_precedent_on.gif b/library/Scores/Partner/Templates/pages/themes/default/images/boutton_precedent_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..72f3a143dac9e5fc62f7cb5b748259f25a9d7e0e GIT binary patch literal 1137 zcmWmCZ)nw37zgm*+|<*H;*Q8X?v9cAVh37y(HGPH>|TbJhs{4DN1QSmH?25<)}R?l zXl;(g1Fc#hdIYnW=6qU)1Cds<90=A!7FvirxQN@UcxIRvp|Iy3&Wq1^_;Q}#@0|1G z#trRj`|?>+wmZun&UDl~T&-5Ga-}C=f1H&u&c&3AoO3K=Dd!St#iyL-oMF<6Nr)_! zX{n5rb6Cy^Ri>$CDCY=(d&=Tmpegn~6nydl08%K=Mo3XuBF7j+LX;pe6e6Rri@^zF z&5D3p*X~msU5MICjfx;HIAnB;s0iqSOr=6h1*e~soU<|7h}tDdOd>Xlm1t3ti`GfP zm{1fJHRi0iB&d0Xb(pZWiNd0@fNWgwF#sm7Qdji9g&64rK5STxp{;30Wp@=O#w1=4pwYJ9-TTgbqxvSXyam&VKkF9;JGF|SF zp|b-Y9sBmf2KUY>cjNhA##;vYOnc##&4)WX%*E>diEQuI_fP-Ox~jP8P_bk0{LDY~ zPh@q6mSF4XOS7L;|33ZSPkrCdWOvf|XRTYtyXzL5+j;Hi&B@{M_RBA?>3aIF;o_pY z;pXePeSH_UH!hmbZEIcMn4S3f>*H4^OI>$vmwN9l9`h$&UA?3AVyW%&doO<8yYk$& zwx(ZqT)D6L`sNjb6ZO0Qy!1z3=Qm&Nm%7QY^lbO>7pf(>@E_2zTS*X{Y@ zxtonw9{IPWG&gZ%`5WubOwYf)uykY8?`a%*aMR<>w^HB0j~DXWO`AC~u%dKuOLlkb bGjkj2OQUlK^2-|P%mX9yrpGL7$R7P4fT#>F`6wrm76q9BHr|2-J zjHYVfGCIKI14Yx$;#D{ZD|saj1h%dMK|m!2iAtap19=oc@kl-kqi{ALMuIF6C1wMP zwi}$+#38X7I1Ubii<%%L&=f<8>Oftzm^q;HIWZ>A298b4l+dgUTr_P+IZBQxu&9?X zJrxQ}>Ipq%7W9HF*-K_Zrffq2L686xq9}+)15zNg9Y%xdyT!={_X*6&O4sH6=h6XN!14y2Qy)ct!Vo%^HvVa$0iC!WT zFhx%u1VB8Hw`&8!(SX>jqC}7w4Jg{Kcb*gb#BAW$JMb=Y0-u0W^eM6fcF|(?Yj8d$ zhQ!gpvH8Rl!EUC3i{RYDt4i4K`z!6Gew8ZxSJc4Vp5q5k4MJVtg)`?K`hI6q<0IRz zU0X4*v!<_Y z)|8jdtZQAlwKO&`acIjOMaSf};=`_zJ6S0?8j|NCrb zajUIy$D|(X>K&Z9eerwu7R&ZNedXEC*5-w;j(mRL-#_DDm&^70KJD#oI{Edw!8z64 zho4$Kvh?Sh{QLE9>B|pKZhPT@Cnie8>G2KqonMt`QO)?4g~jF{hM(IsKNX9%k3Y8f z>L2H8*Yfzq-qAPG`h9QRee~AROUFJsF|@ktx3Q^9#XxE3^6NbZcJ1n_o3rEK`Xw7% zr0e~1<^DI<@7a8D@XkGJ?_1t7|IBdjyqbfvS3LORyM4RASX1t+`=n=9saWzqZT<}8 literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/boutton_suivant_on.gif b/library/Scores/Partner/Templates/pages/themes/default/images/boutton_suivant_on.gif new file mode 100644 index 0000000000000000000000000000000000000000..44a237182ece1e28e9ef3764eb82f7996acd8714 GIT binary patch literal 1132 zcmWmCVMtz87zgnC!rpndrn~lG_0WrHfpDB3dRHG7EpWP(9;%gAv1DLa3Ly<#-a<}a3mXvkt`ZU$5B~S9G$oVG#Z_b zCPdPa0+JL4R3W+`xd4?0W5HQz<;i+tAPa`Uu~!xpdnc{{j0UH@37)j403?M0RPatl z(gM&5gNx2YOOa(Y$b@Xr5*AGi6t%%%q9(Bbwd5*VsghNGoQmv_6j`NH*u+_vqlztkT+yHKvL>fW%wSlTmMzoXneQk$8#tMn(`Fm&+S^4(iHFSXyh zN97t~^|}6wO`jH4|Ck(3_YK_K^3IRflOf$-Q$5i$UX`m`?SEx+pFVXaIbQzf z^Q|q(Ox=C+?>BW$wYXiAuin1i(>6Sv<<&FSmOlJp;=rG^CqBO1Hu`$Y$glb7Cpiuk zt|m2K{M1kyeI$Qo@A8Yy&wgn>Yn?m1+O|A?Z2KFJRX=@ccg?^;P2-`X$K#bZAM9H$ z?Q2_l?=HCc+}~X@^It9g)_P;)?}UrLr{*5?~H;q~oT6YCIgYF=R|DBT+1e?Lb0e!+}LmD8NoG1W64+=o>xZ-?5Nzaw!0)+HTNhZMi zwKic89fzhiHNlfo$ps-7IB*WkTBkLAjkQJysl4;bDeB_M(o-wttascy8$xm~t&)m6 zZyo1OajC5H;gLY^mfSkaowWpM>8L1xQ3{kdUK#HR;1zIXtT)^n8v?ioOEuhhYZM1% zjSo!#PeHA*oDveiazO7GH=2@DW+jDps2qBNM7pwanhLzrAtdusQw?`$=~qs0DXhcr zNRY@SqduHk5v1l4J@o|P4Jw140H}Z|qrG9?=n%j>XsY1`DF6py4TdHFhX1M2VLSqG zW;{BUlvX>djY8*zQ#2ct3Z)k`DQ9Uk=xhkdQCgY;b6z{noMKXG=ffj`CMr4gVbqEs zEu+hVN23HNG+xlV2;c>9VJsSs#)bfnV5x?}PzDA{8y}hgo&l%nGh;OYECa@jK!?I1 zN`VpuZIRP-3v@b!WGJQH+*~AT^VSv|1q0V7P|_Kmkk` zjfSDoA%G!hs$mAT5e$Sj7@7b`k+jjwXiWeHaiI+DJlhO5^LC{#%)gVnV}D2Qt<3br zp-5?>AjnGgjTGL|)e)@E)UbQ@Z)4DOHptDd{BI;^YF`{HD;1g1+wr;&quFUTdO0&N zzOB5fy?!N;Ig=innkoDsvGg|N9AEt=-WlYkI!`b2E!ov0d)|BC^&4~dwS1m_Yj~r$ z``FKqRc1|=H}v&KzU_E_@Y8*xbLqSyR)}>@`C-R|H#78)+cTkzdC#D z!K;rPo|>MXkF2F?k4Dcom&F=iJ~VwTvZW%k82PTg`={ELeBi)_)v2zE;f?1~`Ms(3gVCyUD~Y=f&7ZE_x%b+$iJIeu)NyggaB#(M zZ^LeG!)|WEZ*RnKaK>_S$bEg&#l^*fg4JU!6NQzWcnp<0>XJ@!=ZNPGJ#*~zpii*`{X0%>jszyeM zKtO*xJ9s%cbT~M4{{H?yKYc|-hE-LZU0tYSW3rl>*Lr%?Vq&mbTBTA_n16q*uCB_k zu*i3Jo-Z$IE-q;{Hgh*Oc(Jj~yu8*~S)*-j!D(r@U|_9SSfGc8w$;_*)6?H)XOAZ* zU@9tS)YRc_Zlzyet8#M3Zf?Qx@%A$_aw;lj=jZJsBV5?n<8pGKOiYeeR-I;MwK6ho zB_&?o-swzCk7;SS^78jNIe9QJZ|dsrEG%Vwe51p|)k#T^XJ@x}chhTYyj@+VmX^ZO z(&Ew4-*$GLG&FBJJ9#`je$CC{TwJA-lh@td<&BNI!NJ(W!`P3HwLU(4K0bTF!PZ4Z zgi1<`x3|>F%HofYlv!D#Q&XBxPm@bajZaUJWMs3Qo!wMan^IDlbac$Tyx?SHv0YuM zU|_3dWwmN*yM2Asw6wQrX}oxN(zv*|xw*i)y1>K3$9{g*#KgzW&dq{?)`y4I(b3a` zgVoZ~)6vn`k&)7NcF%fx(9O-*00000000R80R0IZNYKE5g9i;5Ajq)cz;Re2M${k? zO9O`vA!52B3(*nQPrhMd43!qkYY!kT&&XRHI@*at3`I!#L^XJPqBmu z4I(sv5ZOgpKN97bk|*3jgHWLoH1{l1tsK7@1#5MeBWuMXMG_>~+BiCS*TUS%g$^e{ z0}KfIv`UaH(YvZ5rntCBXF-%@3CdM^)@ZVsS-W*j2R5q7f=a{Ab@%7mldc!pqC7a4 z>|Nso5yHD#;@7ak1kDm%Y_MQK*Qgh4>G*Bd*PTl_jT^@aa9u*<2IOYz&!`5lXS>CX zdscOIfr{}pRe$}7H(p2M3^Wl(c!0&lgG(9s6h#Hu=hK5etwzyMBiVPNEM>Unoux0WPoB5(I`?t06U2jP*DH? literal 0 HcmV?d00001 diff --git a/library/Scores/Partner/Templates/pages/themes/default/images/comment/li-egale.gif b/library/Scores/Partner/Templates/pages/themes/default/images/comment/li-egale.gif new file mode 100644 index 0000000000000000000000000000000000000000..47d9d879faea312b32a0cc832006b34302685a78 GIT binary patch literal 845 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�(@sJ6e(Q{Dabc=o%m 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
    '.$matches[3].''; + } + //Ouverture + $commentaires = $commentaires.'
    '; + + if (!empty($matches[4])) { + $commentaires.= '
    '.$matches[4].'
    '; + } + + $inH++; + $ligne = false; + } + + //Fermeture dernier div + if ($currentLigne == $totalLigne){ + $commentaires = $commentaires.'
    '; + } + + //Traitement pour fin bloc texte; + $output.= $commentaires."\n"; + + //Détection des début et fin de tableau + if ( preg_match('/<(table)/i', $commentaires) ){ + $inTable = true; + } + if ( preg_match('/<\/(table)>/i', $commentaires) ){ + $inTable = false; + } + //Nouvelle ligne + + if($inTable){ $ligne = false;} + if($ligne){ $output.= '
    '; } + } + $this->commentairesOutput.= $output; + } + } + } + + + protected function siren($content){ + $pattern = '/(.*?)([0-9]{3})(?: )?([0-9]{3})(?: )?([0-9]{3})<\/siren>(.*?)/i'; + $replace = '$1
    $2 $3 $4$5'; + $output = preg_replace($pattern, $replace, $content); + return $output; + } + + protected function liste($content){ + $output = $content; + $pattern = '/(.*?)(.*)/i'; + $pattern_all = '/(.*)(?:)/isU'; + preg_match_all($pattern_all, $content, $listes); + if ( isset($listes[0]) && count($listes[0])>0 ){ + //FB::log($listes, 'listes'); + foreach ( $listes[0] as $index => $elementR ){ + $output = $this->liste_replace($elementR, $listes[2][$index], + $listes[1][$index], $output); + //FB::log($output, 'output'); + } + } elseif ( preg_match($pattern, $content, $matches) ){ + //FB::log($content, 'liste'); + switch($matches[2]){ + case '+': + $replace = '$1$3'; + break; + case '-': + $replace = '$1$3'; + break; + case '=': + $replace = '$1$3'; + break; + case ':': + $replace = '$1$3'; + break; + default: + $replace = '$1$3'; + break; + } + $output = preg_replace($pattern, $replace, $content); + } + return $output; + } + + protected function liste_replace($elementR, $element, $type, $content){ + switch ( $type ){ + case '+': + $replace = ''.$element.'
    '; + break; + case '-': + $replace = ''.$element.'
    '; + break; + case '=': + $replace = ''.$matches[2].'
    '; + break; + case ':': + $replace = ''.$element.'
    '; + break; + default: + $replace = ''.$element.'
    '; + break; + } + $output = str_replace($elementR, $replace, $content); + return $output; + } + + + protected function image($content){ + $pattern = '/IMAGE\((.*?)\)/i'; + preg_match($pattern, $content, $matches); + $replace = ''; + $output = str_replace($matches[0], $replace, $content); + return $output; + } + + protected function lien($content) + { + $path = array( + 'pdf' => '/commentaires', + 'html' => '/commentaires', + ); + $pattern = "/(.*?)<\/lien>/i"; + preg_match($pattern, $content, $matches); + if(count($matches)>0){ + switch($matches[2]){ + case 'pdf': + $content = str_replace( + $matches[0], + "". + $matches[3]."", + $content); + break; + case 'htm': + case 'html': + $content = str_replace( + $matches[0], + "". + $matches[3]."", + $content); + break; + } + } + return $content; + } + + protected function graphique_couleur($content) + { + $this->graphCouleurs = array(); + //Association des couleurs Nom => code Hexa + $assocNomCouleurs = array( + 'BLA' => 0xFFFFFF, + 'BLA1' => 0xFFFAFA, + 'BLA2' => 0xF0FFFF, + 'BLA3' => 0xFFFFF0, + 'BLE' => 0x0000FF, + 'BLE1' => 0x00BFFF, + 'BLE2' => 0x00008B, + 'BLE3' => 0x87F0FA, + 'JAU' => 0xFFF000, + 'JAU1' => 0xFFEFD5, + 'JAU2' => 0xFFA500, + 'JAU3' => 0xFFFFE0, + 'LUM' => 0xADFF2F, + 'LUM1' => 0x00FFFF, + 'LUM2' => 0xFF00FF, + 'LUM3' => 0xF0FFF0, + 'MAR' => 0xD2691E, + 'MAR1' => 0xF4A460, + 'MAR2' => 0x8B4513, + 'MAR3' => 0xF5DEB3, + 'MET' => 0xFFD700, + 'MET1' => 0xFFF8DC, + 'MET2' => 0xC0C0C0, + 'MET3' => 0xFDF5E6, + 'NOI' => 0x000000, + 'NOI1' => 0x808080, + 'NOI2' => 0x2F4F4F, + 'NOI3' => 0xDCDCDC, + 'ROU' => 0xFF0000, + 'ROU1' => 0xFF7F50, + 'ROU2' => 0xB22222, + 'ROU3' => 0xFFDAB9, + 'VER' => 0x228B22, + 'VER1' => 0x66CDAA, + 'VER2' => 0x066400, + 'VER3' => 0x98FB98, + 'VIO' => 0xC71585, + 'VIO1' => 0xEE82EE, + 'VIO2' => 0x8B008B, + 'VIO3' => 0xFFF0F5, + ); + $pattern = '/COULEUR\((.*)\)/i'; + ///Detection couleur + if ( preg_match($pattern, $content, $matches) ) { + Zend_Registry::get('firebug')->info('DETECTION Couleurs'); + $listeCouleurs = $matches[1]; + //Récupération des couleurs + $pattern = '/([a-z0-9]{3,4})/i'; + if ( preg_match_all($pattern, $listeCouleurs, $matches) ) { + Zend_Registry::get('firebug')->info($matches); + $nbCouleurs = count($matches[1]); + for($i=0;$i<$nbCouleurs;$i++){ + $this->graphCouleurs[] = $assocNomCouleurs[$matches[1][$i]]; + } + } + } + return $this->graphCouleurs; + } + + + protected function graphique($content) + { + $pattern = '/\[GRAPHIQUE id=(.*?) titre=\'(.*?)\',(.*)\]/'; + if( preg_match($pattern, $content, $matches) ){ + Zend_Registry::get('firebug')->info($content); + $image_id = $matches[1]; + $titre = $matches[2]; + //Génération id/nom fichier graphique + if (($this->siret*1)==0 || ($this->siren*1)<100){ + $id = 'gcomment-'.$this->idEntreprise.'-'.$image_id; + }else{ + $id = 'gcomment-'.$this->siret.'-'.$image_id; + } + + //Determine le type du graphique + $detectType = ''; + $typePattern = array( + 'projection' => '/(R\[.*\]#H,.*_Y#L)/', + 'stacked' => '/((R\[.*\]#HS,?){1,};?){1,}/', + 'histo' => '/(Rs?\[.*\]#[H|L|T],?){1,}/', + 'radar' => '/(R\[.*\]#R,?){1,}/', + ); + foreach($typePattern as $type => $pattern){ + if (preg_match($pattern,$matches[3], $match_type)>0){ + $detectType = $type; + break; + } + } + + Zend_Registry::get('firebug')->info('Graphique : '.$type); + + switch($detectType){ + case 'histo': + $image_file = $this->graph_histo($id, $titre, $matches[3]); + break; + case 'radar': + $image_file = $this->graph_radar($id, $titre, $matches[3]); + break; + case 'stacked': + $image_file = $this->graph_stacked($id, $titre, $matches[3]); + break; + case 'projection': + $image_file = $this->graph_histo($id, $titre, $matches[3]); + break; + default: + $image_file = 'Erreur'; + break; + } + + //Le fichier image existe + if( file_exists($this->pathImage.$image_file) ){ + + $content = str_replace( + $matches[0], + '', + $content); + }else{ + $content = str_replace( + $matches[0], + 'Erreur génération graphique', + $content); + } + } + return $content; + } + + protected function graph_stacked($id, $titre, $strRatios) + { + $file = $id.'.png'; + if( $this->cache_graph($this->pathImage.$file) ){ //@todo cache_graph + $output = $file; + } else { + $couleurs = array(); + if(count($this->graphCouleurs)>0){ + $couleurs = $this->graphCouleurs; + } else { + $couleurs = array( + 0xaaaaff, + 0x6666ff, + 0x3cb371, /*medium sea green*/ + 0xff8080, + 0x000000, /*noir*/ + /*0x80ff80,*/ + 0xffe4c4, /*abricot*/ + 0xbc8f8f, /*rosy brown*/ + 0xc0c0c0, /*silver*/ + 0xfffff0, /*ivoire*/ + /*0xf0ffff, /*azure*/ + 0xff7f50, /*coral*/ + 0xa0522d, /*marron*/ + 0xffd700, /*gold*/ + 0x8866ff, + 0x0000cd, /*blue*/ + 0xee82e2, /*violet*/ + ); + } + + $bilansInfos = end($this->bilansInfos); + $ratiosEntrep = end($this->ratiosEntrep); + $dateCloture = substr($bilansInfos->dateCloture,0,4); + + //Génération du graphique + $c = new XYChart(548, 300); + $c->addTitle($titre, 'times.ttf', 10); + $c->setPlotArea(70, 30, 200, 200); + $legendObj = $c->addLegend2(300, 50, -2, "times.ttf", 9); + $legendObj->setBackground(Transparent, Transparent); + $labels = array($dateCloture); + $c->xAxis->setLabels($labels); + $layer = $c->addBarLayer2(Stack); + $layer->setBorderColor(Transparent, softLighting(Left)); + $cpt_couleur = 0; + $pattern = '/(Rs?)\[(.*)]#.{1}/'; + $ratios = explode(';', $strRatios); + $div = 1; + foreach ( $ratios as $indexGroup => $groupRatios ){ + $stackRatios = explode(',', $groupRatios); + $layer->addDataGroup('Group'.$indexGroup); + //Analyse pour unité correcte + foreach ( $stackRatios as $ratio ){ + preg_match($pattern, $ratio, $matches); + $value = $ratiosEntrep['r'.$matches[2]]; + if ( !isset($dUnite) ) { + $dUnite = $this->ratiosInfos['r'.$matches[2]]['unite']; + } + if ( $dUnite == 'EUR' ){ + if ( $div<1000000 && abs($value)/1000000>0 ){ + $dUnite = 'M EUR'; + $div = 1000000; + } elseif ( $div<1000 && abs($value)/1000>0 ){ + $dUnite = 'K EUR'; + $div = 1000; + } + } + } + //Assignation valeur + foreach ( $stackRatios as $ratio ){ + preg_match($pattern, $ratio, $matches); + $value = $ratiosEntrep['r'.$matches[2]]/$div; + //FB::log($couleurs[$cpt_couleur], 'Couleur r'.$matches[2]); + $titre = htmlspecialchars_decode($this->ratiosInfos['r'.$matches[2]]['libelle'],ENT_QUOTES); + $layer->addDataSet(array($value), $couleurs[$cpt_couleur], $titre); + $cpt_couleur++; + if($cpt_couleur>=count($couleurs)) { $cpt_couleur=0; } + } + } + + if ( !isset($dUnite) ) { $dUnite = 'EUR'; } + $layer->setBarGap(0.2, 0); + $c->yAxis->setAutoScale(0.2); + $c->yAxis->setTitle($dUnite); + $c->yAxis->setWidth(2); + $c->xAxis->setTitle('Années'); + $c->xAxis->setWidth(2); + $c->xAxis->setLabels($labelsX); + if ( $c->makeChart($this->pathImage.$file) === true ){ + $output = $file; + } else { + $output = false; + } + } + return $output; + } + + + protected function graph_histo($id, $titre, $strRatios) + { + $file = $id.'.png'; + if( $this->cache_graph($this->pathImage.$file) ){ + $output = $file; + } else { + Zend_Registry::get('firebug')->info('Histo - id : '.$id); + Zend_Registry::get('firebug')->info('Histo - titre : '.$titre); + Zend_Registry::get('firebug')->info('Histo - strRatios : '.$strRatios); + //Gestion des couleurs + if(count($this->graphCouleurs)>0){ + $couleurs = $this->graphCouleurs; + } else { + $couleurs = array(0xff8080, 0x80ff80, 0x8080ff); + } + $ratios = explode(',', $strRatios); + $data = array(); + $dataInfos = array(); + $nbRatio = 0; + //Détection des ratios + $patternR = '/(Rs?)\[(.*)]#(.{1})/'; + $patternP = '/(.*)_Y#(.{1})/'; + foreach ( $ratios as $ratio ) { + //Ratios secteur et entreprise + if( preg_match($patternR, $ratio, $matches) ){ + $typeRatio = $matches[1]; + $numRatio = $matches[2]; + $titreRatio = $this->graph_lib($numRatio); + $unite = $this->ratiosInfos['r'.$numRatio]->unite; + $div = 1; + switch ( $typeRatio ){ + case 'R' : + $titreRatio.= ' - Entreprise'; + $tabRatio = $this->ratiosEntrep; + break; + case 'Rs' : + $titreRatio.= ' - Secteur'; + $tabRatio = $this->ratiosSecteur; + break; + } + + //Informations données + $dataInfos[$nbRatio] = array( + 'titre' => $titreRatio, + 'style' => $matches[3], + ); + + //Assignation données + $xPrec = 0; + foreach ( $tabRatio as $key => $valRatio ){ + $index = substr($key,0,4); + ($xPrec != 0) ? $diff = $xPrec-$index : $diff = 1; + if ($diff != 0){ + $data[$index][$nbRatio] = $valRatio['r'.$numRatio]; + if ( $unite == 'EUR' ){ + if ( $div<1000000 && abs($valRatio['r'.$numRatio])/1000000>0 ){ + $unite = 'M EUR'; + $div = 1000000; + } elseif ( $div<1000 && abs($valRatio['r'.$numRatio])/1000>0 ){ + $unite = 'K EUR'; + $div = 1000; + } + } + } + $xPrec = $index; + } + $nbRatio++; + //Ratios de projection + } elseif ( preg_match($patternP, $ratio, $matches) ){ + + $titreRatio = $matches[1]; + $dataInfos[$nbRatio] = array( + 'titre' => $titreRatio.' - Projection', + 'style' => $matches[2], + ); + $tabRatio = $this->tabProjection[$titreRatio.'_Y']; + krsort($tabRatio); // @todo : il se peut que $tabRatio = null + foreach ( $tabRatio as $valRatio ){ + $index = (int)substr($valRatio->id,0,4); + $data[$index][$nbRatio] = $valRatio->val; + } + $nbRatio++; + } + } + if ( !isset($unite) ) { $unite = 'EUR'; } + Zend_Registry::get('firebug')->info($data); + //Graphique + if ( count($data)<=1 ){ + $output = false; + } else { + ksort($data); + $labelsX = array_keys($data); + $valuesY = array(); + for ( $i = 0; $i < $nbRatio ; $i++ ){ + foreach ( $data as $values ){ + $valuesY[$i][] = isset($values[$i]) ? (int)$values[$i]/$div : 0; + } + } + //Génération du graphique + $c = new XYChart(548, 350); + $c->addTitle($titre, 'times.ttf', 10); + $c->yAxis->setTitle($unite); + $c->yAxis->setWidth(2); + $c->xAxis->setTitle('Années'); + $c->xAxis->setWidth(2); + $c->xAxis->setLabels($labelsX); + $legendObj = $c->addLegend2(25, 25, -2, "times.ttf", 9); + $legendObj->setBackground(Transparent, Transparent); + $c->setPlotArea(110, 90, 300, 200); + //Application layer pour line + $lineLayer = $c->addLineLayer2(Side); + $lineLayer->setBorderColor(Transparent, softLighting(Left)); + $lineLayer->setLineWidth(2); + //Application layer pour bar + $barLayer = $c->addBarLayer2(Side); + $barLayer->setBorderColor(Transparent, softLighting(Left)); + for ( $i = 0; $i < $nbRatio ; $i++ ){ + if ( $dataInfos[$i]['style'] == 'H' || $dataInfos[$i]['style'] == 'T' ){ + $barLayer->addDataSet($valuesY[$i], $couleurs[$i], $dataInfos[$i]['titre']); + } else if ( $dataInfos[$i]['style'] == 'L' ){ + $dataSetObj = $lineLayer->addDataSet($valuesY[$i], $couleurs[$i], $dataInfos[$i]['titre']); + $dataSetObj->setDataSymbol(SquareSymbol, 7); + } + } + if( $c->makeChart($this->pathImage.$file) === true ){ + $output = $file; + } else { + $output = false; + } + } + } + return $output; + } + + protected function graph_radar($id, $titre, $strRatios) + { + $file = $id.'.png'; + if( $this->cache_graph($this->pathImage.$file) && 0 ){ + $output = $file; + } else { + if(count($this->graphCouleurs)>0){ + $couleurs = $this->graphCouleurs; + } else { + $couleurs = array(0x9999ff); + } + //FB::log($couleurs, 'RADAR-couleur'); + $ratios = explode(',', $strRatios); + $data = array(); + $pattern = '/(Rs?)\[(.*)]#(.{1})/'; + foreach($ratios as $ratio){ + if( preg_match($pattern, $ratio, $matches) ){ + $typeRatio = $matches[1]; + $numRatio = $matches[2]; + $titreRatio = $this->graph_lib($numRatio); + $supPattern = '/\(.*?\)/'; + $titreRatio = preg_replace($supPattern, '', $titreRatio); + $supPattern = '/[ ]/'; + $titreRatio = preg_replace($supPattern, '<*br*>', $titreRatio); + $data['y'][] = array( + 'titre' => $titreRatio, + 'data' => $this->graph_y($typeRatio, $numRatio), + ); + } + } + $data['x'] = $this->graph_x(); + + //Graphique + if(count($data)<=1){ + $output = 0; + }else{ + //Tri des données + foreach($data['y'] as $yKey => $y){ + $i = 0; + foreach($y['data'] as $val){ + $dataTri[$data['x'][$i]] = $val; + $i++; + } + ksort($dataTri); + $data['y'][$yKey]['data'] = array_values($dataTri); + } + sort($data['x']); + foreach($data['y'] as $val){ + $num = count($val['data'])-1; + $gdata[] = $val['data'][$num]; + $labels[] = $val['titre']; + } + } + //FB::log($gdata, 'DATA'); + + $c = new PolarChart(548, 480); + $c->setPlotArea(270, 240, 150); + $c->addAreaLayer($gdata, $couleurs[0]); + $c->angularAxis->setLabels($labels); + if( $c->makeChart($this->pathImage.$file) === true ){ + $output = $file; + } else { + $output = false; + } + } + return $output; + } + + protected function graph_lib($numRatio) + { + return htmlspecialchars_decode($this->ratiosInfos['r'.$numRatio]->libelle,ENT_QUOTES); + } + + protected function graphp_x($ratio) + { + $output = array(); + $tabRatio = $this->tabProjection[$ratio.'_Y']; + krsort($tabRatio); + foreach($tabRatio as $key => $val){ + $output[] = (int)substr($key,0,4); + } + return $output; + } + + protected function dateBilanAAAA($value) + { + return (int)substr($value, 0, 4); + } + + + protected function graph_x() + { + $output = array(); + foreach($this->bilansInfos as $bilan){ + $output[] = $bilan->dateCloture; + } + return $output; + } + + + protected function graph_y($typeRatio, $numRatio) + { + switch ($typeRatio) { + case 'R' : $tabRatio = $this->ratiosEntrep; break; + case 'Rs' : $tabRatio = $this->ratiosSecteur; break; + case 'projection' : $tabRatio = $this->tabProjection; break; + } + $output = array(); + if ($typeRatio != 'projection') { + foreach($tabRatio as $key => $val){ + $value = $val['r'.$numRatio]; + if (is_numeric($value)) { + $output[$key] = $value; + } elseif (is_string($value) && substr($value,0,1)=='>') { + $output[$key] = (int) substr($value,1); + } + } + } else { + $tabRatio = $tabRatio[$numRatio.'_Y']; + krsort($tabRatio); + foreach($tabRatio as $val){ + $output[] = $val; + } + } + return $output; + } + + protected function cache_graph($filename) + { + $user = new Scores_Utilisateur(); + if( $user->checkModeEdition() ){ + return false; + } elseif ( file_exists($filename) && !$this->timeover($filename) ) { + return true; + } else { + return false; + } + } + + protected function timeover($file) + { + $dateFile = filemtime($file); + $now = mktime(date('G'), date('i'), date('s'), date("m") , date("d"), date("Y")); + $maxTime = mktime( + date('G',$dateFile)+8, + date('i',$dateFile), + date('s',$dateFile), + date("m",$dateFile), + date("d",$dateFile), + date("Y",$dateFile)); + if( $now>$maxTime ) { + return true; + } + return false; + } + +} \ No newline at end of file diff --git a/library/Scores/RechercheHistorique.php b/library/Scores/RechercheHistorique.php new file mode 100644 index 0000000..e1b3399 --- /dev/null +++ b/library/Scores/RechercheHistorique.php @@ -0,0 +1,122 @@ + array('siret', 'raisonSociale', 'numero', 'voie', 'cpVille', 'telFax', 'naf', 'pays', 'fj'), + 'dir' => array('dirNom', 'dirPrenom', 'dirDateNaissJJ', 'dirDateNaissMM', 'dirDateNaissAAAA', 'dirCpVille'), + 'act' => array('actNomRs', 'cpVille', 'siret', 'pays', 'pctMin', 'pctMax'), + 'wcheck' => array('dirNom', 'dirPrenom', 'dirType'), + 'annonce' => array('formA'), + 'refclient' => array('ref'), + ); + + public function __construct() + { + $session = new Zend_Session_Namespace($this->index); + $this->listeRecherche = $session->liste; + } + + /** + * Sauvegarde des éléments pour la recherche + * @param string $type + * @param array $params + * @return string + */ + public function save($type, $params) + { + //Controle des éléments + $elements = array(); + foreach($params as $key => $value){ + if (in_array($key, $this->listParams[$type])){ + $elements[$key] = $value; + } + } + //Vérification du nombre d'éléments + if (count($this->listeRecherche)>=$this->rechercheMax){ + array_shift($this->listeRecherche); + } + + $token = uniqid(); + + $this->listeRecherche[] = array( + 'type' => $type, + 'token' => $token, + 'params' => $elements, + ); + $session = new Zend_Session_Namespace($this->index); + $session->liste = $this->listeRecherche; + + return $token; + } + + /** + * Assigne les informations pour une recherche (type = dir|ent) + * @param string $siret + * @param integer $id + * @param string $raisonSociale + */ + public function assignInfo($siret, $id, $raisonSociale) + { + $rindex = count($this->listeRecherche)-1; + $this->listeRecherche[$rindex]['consult'] = array( + 'siret' => $siret, + 'id' => $id, + 'raisonSociale' => $raisonSociale, + ); + $session = new Zend_Session_Namespace($this->index); + $session->liste = $this->listeRecherche; + } + + /** + * Retourne la liste des éléments de la session dans le bon ordre + */ + public function liste() + { + if (count($this->listeRecherche)>0) { + return array_reverse($this->listeRecherche); + } else { + return array(); + } + } + + /** + * Retourne un élément de la liste + * @param integer $index + */ + public function item($index) + { + $rindex = count($this->listeRecherche)-1-$index; + return $this->listeRecherche[$rindex]; + } + + public function get($token) + { + if (count($this->listeRecherche)>0) { + foreach($this->listeRecherche as $item) { + if($token == $item['token']){ + return $item; + break; + } + } + } + return false; + } + +} \ No newline at end of file diff --git a/library/Scores/SelectLang.php b/library/Scores/SelectLang.php new file mode 100644 index 0000000..22b133f --- /dev/null +++ b/library/Scores/SelectLang.php @@ -0,0 +1,22 @@ +curLang = $utilisateur->getLang(); + } + + /** + * Retourne le titre de la colonne de la table selon la langue choisie + * @param string Column Name + * @return string New Column Name + */ + public function langSetDB($colName) + { + $newColName = ($this->curLang == 'fr') ? $colName : $colName.ucfirst($this->curLang); + return $newColName; + } +} \ No newline at end of file diff --git a/library/Scores/Serializer/Adapter/Xml.php b/library/Scores/Serializer/Adapter/Xml.php new file mode 100644 index 0000000..2aaef6b --- /dev/null +++ b/library/Scores/Serializer/Adapter/Xml.php @@ -0,0 +1,164 @@ + 'root', + ); + + /** + * Serialize PHP value to XML + * + * @param mixed $value + * @param array $opts + * @return string + * @throws Zend_Serializer_Exception on XML encoding exception + */ + public function serialize($value, array $opts = array()) + { + $opts = $opts + $this->_options; + + try { + $dom = new DOMDocument('1.0', 'utf-8'); + $root = $dom->appendChild($dom->createElement($opts['rootNode'])); + $this->createNodes($dom, $value, $root, false); + return $dom->saveXml(); + } catch (Exception $e) { + require_once 'Zend/Serializer/Exception.php'; + throw new Zend_Serializer_Exception('Serialization failed', 0, $e); + } + } + + /** + * Deserialize XML to PHP value + * + * @param string $json + * @param array $opts + * @return mixed + */ + public function unserialize($xml, array $opts = array()) + { + try { + Zend_Json::fromXml($xml); + return (array) Zend_Json::decode($json, Zend_Json::TYPE_OBJECT); + } catch (Exception $e) { + require_once 'Zend/Serializer/Exception.php'; + throw new Zend_Serializer_Exception('Unserialization failed by previous error', 0, $e); + } + } + + private function createNodes($dom, $data, &$parent) + { + switch (gettype($data)) { + case 'string': + case 'integer': + case 'double': + $parent->appendChild($dom->createTextNode($data)); + break; + + case 'boolean': + switch ($data) { + case true: + $value = 'true'; + break; + + case false: + $value = 'false'; + break; + } + + $parent->appendChild($dom->createTextNode($value)); + break; + + case 'object': + case 'array': + foreach ($data as $key => $value) { + + if (is_object($value) and $value instanceOf DOMDocument and !empty($value->firstChild)) { + $node = $dom->importNode($value->firstChild, true); + $parent->appendChild($node); + } else { + $attributes = null; + + // SimpleXMLElements can contain key with @attribute as the key name + // which indicates an associated array that should be applied to the xml element + + if (is_object($value) and $value instanceOf SimpleXMLElement) { + $attributes = $value->attributes(); + $value = (array) $value; + } + + // don't emit @attribute as an element of it's own + if ($key[0] !== '@') + { + if (gettype($value) == 'array' and !is_numeric($key)) { + $child = $parent->appendChild($dom->createElement($key)); + + if ($attributes) + { + foreach ($attributes as $attrKey => $attrValue) + { + $child->setAttribute($attrKey, $attrValue); + } + } + + $this->createNodes($dom, $value, $child); + } else { + + if (is_numeric($key)) { + $key = sprintf('%s', $this->depluralize($parent->tagName)); + } + + $child = $parent->appendChild($dom->createElement($key)); + + if ($attributes) + { + foreach ($attributes as $attrKey => $attrValue) + { + $child->setAttribute($attrKey, $attrValue); + } + } + + $this->createNodes($dom, $value, $child); + } + } + } + } + + break; + } + } + + private function depluralize($word) { + $rules = array( + 'ss' => false, + 'os' => 'o', + 'ies' => 'y', + 'xes' => 'x', + 'oes' => 'o', + 'ies' => 'y', + 'ves' => 'f', + 's' => null + ); + + // Loop through all the rules + foreach(array_keys($rules) as $key) { + // If the end of the word doesn't match the key, it's not a candidate for replacement. + if (substr($word, (strlen($key) * -1)) != $key) { + continue; + } + + // If the value of the key is false, stop looping and return the original version of the word. + if ($key === false) { + return $word; + } + + // apply the rule + return substr($word, 0, strlen($word) - strlen($key)) . $rules[$key]; + } + + return $word; + } +} diff --git a/library/Scores/SessionEntreprise.php b/library/Scores/SessionEntreprise.php new file mode 100644 index 0000000..cf6a010 --- /dev/null +++ b/library/Scores/SessionEntreprise.php @@ -0,0 +1,160 @@ +checkSession($siret, $id) ){ + $this->getInfoEntrep($siret, $id); + } + } + } + + public function getId() + { + return $this->get('id'); + } + + public function getSiren() + { + return $this->get('siren'); + } + + public function getSiret() + { + return $this->get('siret'); + } + + public function getAutreId() + { + return $this->get('AutreId'); + } + + public function getSiretSiege() + { + return $this->get('siretSiege'); + } + + public function getRaisonSociale() + { + return $this->get('raisonSociale'); + } + + public function setInfoEntrep($identite) + { + $this->setSession($identite); + } + + public function getFormeJuridique() + { + return $this->get('fj'); + } + + public function getNaf() + { + return $this->get('nafEn'); + } + + public function getCodeCommune() + { + return $this->get('codeCommune'); + } + + public function getTva() + { + return $this->get('tva'); + } + + public function getIsin() + { + return $this->get('isin'); + } + + public function getSource() + { + return $this->get('Source'); + } + + public function getSourceId() + { + return $this->get('SourceId'); + } + + protected function get($key) + { + $session = new Zend_Session_Namespace($this->index); + return $session->$key; + } + + protected function getInfoEntrep($siret, $id = 0) + { + Zend_Registry::get('firebug')->info('getInfoEntrep'); + require_once 'Scores/WsScores.php'; + $ws = new WsScores(); + $etab = $ws->getIdentiteLight($siret, $id); + $this->setSession($etab); + } + + protected function setSession($etab) + { + $session = new Zend_Session_Namespace($this->index); + $session->raisonSociale = $etab->Nom; + $session->id = $etab->id; + $session->siren = $etab->Siren; + $session->siret = $etab->Siret; + $session->siretSiege = $etab->SiretSiege; + $session->tva = $etab->TvaNumero; + $session->isin = $etab->Isin; + $session->AutreId = $etab->AutreId; + $session->Source = $etab->Source; + $session->SourceId = $etab->SourceId; + $session->codeCommune = $etab->Dept.$etab->codeCommune; + $session->nafEn = $etab->NafEnt; + $session->nafEnt = $etab->NafEtab; + $session->fj = $etab->FJ; + } + + protected function checkSession($siret, $id = 0) + { + $compare = false; + + if (!Zend_Session::namespaceIsset($this->index)) { + return false; + } + + $session = new Zend_Session_Namespace($this->index); + + $compare = false; + // Comparaison Siren / Siret + if ( !empty($siret) && intval($siret) != 0) { + if (strlen($siret) == 9) { + // Comparaison entre siren + if ($siret == $session->siren) { + $compare = true; + } + } else if (strlen($siret) == 14) { + // Comparaison entre siret + if ($siret == $session->siret) { + $compare = true; + } + } + } + + // Comparaison id + if ( empty($siret) || intval($siret) == 0) { + if ($id != 0 && $id == $session->id) { + $compare = true; + } + } + + return $compare; + } + +} diff --git a/library/Scores/Siren.php b/library/Scores/Siren.php new file mode 100644 index 0000000..7c1a8e1 --- /dev/null +++ b/library/Scores/Siren.php @@ -0,0 +1,58 @@ +isSirenExistant($siren); + } +} \ No newline at end of file diff --git a/library/Scores/Utilisateur.php b/library/Scores/Utilisateur.php new file mode 100644 index 0000000..49247cb --- /dev/null +++ b/library/Scores/Utilisateur.php @@ -0,0 +1,338 @@ +hasIdentity() ) { + $this->identity = $auth->getIdentity(); + } + } + + /** + * Récupére les valeurs du profil depuis le webservice + * @param stdClass $InfosLogin + * @params string $password + * @return stdClass + */ + public function updateProfil($InfosLogin, $password = null) + { + $identity = new stdClass; + $identity->username = $InfosLogin->result->login; + if ($password === null) { + $identity->password = $this->identity->password; + } else { + $identity->password = $password; + } + $identity->email = $InfosLogin->result->email; + $identity->profil = $InfosLogin->result->profil; + $identity->pref = $InfosLogin->result->pref; + $identity->droits = $InfosLogin->result->droits; + $identity->droitsClients = $InfosLogin->result->droitsClients; + $identity->nom = $InfosLogin->result->nom; + $identity->prenom = $InfosLogin->result->prenom; + $identity->tel = $InfosLogin->result->tel; + $identity->fax = $InfosLogin->result->fax; + $identity->mobile = $InfosLogin->result->mobile; + $identity->id = $InfosLogin->result->id; + $identity->idClient = $InfosLogin->result->idClient; + $identity->reference = $InfosLogin->result->reference; + $identity->nbReponses = $InfosLogin->result->nbReponses; + $identity->typeScore = $InfosLogin->result->typeScore; + $identity->dateValidation = $InfosLogin->result->dateValidation; + $identity->nombreConnexions = $InfosLogin->result->nombreConnexions; + $identity->dateDerniereConnexion = $InfosLogin->result->dateDerniereConnexion; + $identity->dateDebutCompte = $InfosLogin->result->dateDebutCompte; + $identity->dateFinCompte = $InfosLogin->result->dateFinCompte; + $identity->ip = $_SERVER['REMOTE_ADDR']; + $identity->timeout = (!empty($InfosLogin->result->timeout)) ? + $InfosLogin->result->timeout : 1800; + $identity->time = time() + $identity->timeout; + $identity->modeEdition = false; + $identity->acceptationCGU = $InfosLogin->result->acceptationCGU; + $lang = in_array($InfosLogin->result->lang,array('fr','en')) ? $InfosLogin->result->lang : 'fr'; + $identity->lang = $lang; + $identity->langtmp = $lang; + $identity->browser = $this->getBrowserInfo(); + + $this->identity = $identity; + + return $identity; + } + + /** + * Check if user is log in + * @return boolean + */ + public function isLog() + { + if ( $this->identity === null ) { + return false; + } + + return true; + } + + /** + * Détermine si l'utilisateur est Administrateur + */ + public function isAdmin() + { + if ($this->identity->profil == 'Administrateur'){ + return true; + } + return false; + } + + /** + * Détermine si l'utilisateur est SuperAdministrateur + */ + public function isSuperAdmin() + { + if ($this->identity->profil == 'SuperAdministrateur'){ + return true; + } + return false; + } + + /** + * Retourne le profile utilisateur + */ + public function getProfil() + { + return $this->identity->profil; + } + + /** + * Retourne l'identifiant client + */ + public function getIdClient() + { + return $this->identity->idClient; + } + + /** + * Retourne l'identifiant de l'utilisateur + */ + public function getId() + { + return $this->identity->id; + } + + /** + * Retourne le login de l'utiliateur + */ + public function getLogin() + { + return $this->identity->username; + } + + /** + * Retourne le password de l'utilisateur + */ + public function getPassword() + { + return $this->identity->password; + } + + /** + * Retourne le nom de l'utiliateur + */ + public function getNom() + { + return $this->identity->nom; + } + + /** + * Retourne le prénom de l'utiliateur + */ + public function getPrenom() + { + return $this->identity->prenom; + } + + /** + * Retourne l'email de l'utilisateur + */ + public function getEmail() + { + return $this->identity->email; + } + + /** + * Retourne le téléphone de l'utilisateur + */ + public function getTel() + { + return $this->identity->tel; + } + + /** + * Retourne le fax de l'utilisateur + */ + public function getFax() + { + return $this->identity->fax; + } + + /** + * Retourne le type de score + */ + public function getTypeScore() + { + if (isset($this->identity->typeScore) + && !empty($this->identity->typeScore)){ + return $this->identity->typeScore; + } + return '100'; + } + + /** + * Retourne le nombre de réponse + */ + public function getNbRep() + { + return $this->identity->nbReponses; + } + + /** + * Retourne l'adresse Ip de l'utilisateur + */ + public function getIpAddress() + { + if ( !isset($this->identity->ip) || empty($this->identity->ip) ){ + return $_SERVER['REMOTE_ADDR']; + } + return $this->identity->ip; + } + + /** + * Retourne la date de dernière connexion + */ + public function getDateDerniereConnexion() + { + return $this->identity->dateDerniereConnexion; + } + + /** + * Vérifie que l'utiliasteur a le mode edition + * @return boolean + */ + public function checkModeEdition() + { + //On vérfie le mode edition dans les permissions + if ( $this->checkPerm('edition') ) { + return true; + } + //On vérfie le mode edition dans la session + if ( $this->identity->modeEdition ) { + return true; + } + return false; + } + + + /** + * Vérifie que l'utilisateur possède bien un droits + * @param string $perm + * Le code de la permission + * @return boolean + */ + public function checkPerm($perm) + { + $hasPerm = false; + if (preg_match('/\b'.$perm.'\b/i', $this->identity->droits)){ + $hasPerm = true; + } + return $hasPerm; + } + + /** + * Vérifie que l'utilisateur à cocher cette préférence + * @param string $pref + */ + public function checkPref($pref) + { + $hasPref = false; + if (preg_match('/\b'.$pref.'\b/i', $this->identity->pref)){ + $hasPref = true; + } + return $hasPref; + } + + /** + * Retourne la langue par défaut du client + */ + public function getLang() + { + return $this->identity->lang; + } + + /** + * Retourne la langue de l'interface du client + */ + public function getLangTmp() + { + return $this->identity->langtmp; + } + + /** + * Sets interface's language new value + * @param $langtmp + */ + public function setLangTmp($langtmp) + { + $this->identity->langtmp = $langtmp; + } + + /** + * Get browser information + */ + public function getBrowserInfo() + { + return $this->identity->browser; + } + + /** + * Set browser information + * @param string $name + * @param string $version + * @param int $mobile + * @param string $screenSize + */ + public function setBrowserInfo($platform, $name, $version, $mobile, $screenSize = 'unknow') + { + //Save info to session + $browserInfo = new stdClass(); + $browserInfo->platform = $platform; + $browserInfo->name = $name; + $browserInfo->version = $version; + $browserInfo->mobile = $mobile; + $browserInfo->screenSize = $screenSize; + $this->identity->browser = $browserInfo; + $auth = Zend_Auth::getInstance(); + $auth->getStorage()->write($this->identity); + + //Save info to database + $data = array( + 'idClient' => $this->getIdClient(), + 'login' => $this->getLogin(), + 'dateInsert' => date('Y-m-d H:i:s'), + 'platform' => $platform, + 'browserName' => $name, + 'browserVersion' => $version, + 'isMobile' => $mobile, + 'screenSize' => $screenSize + ); + $clientstatM = new Application_Model_ClientStat(); + $id = $clientstatM->insert($data); + Zend_Registry::get('firebug')->info('Insertion : '.$id); + } + +} \ No newline at end of file diff --git a/library/Scores/Wkhtmltopdf.php b/library/Scores/Wkhtmltopdf.php new file mode 100644 index 0000000..0688b23 --- /dev/null +++ b/library/Scores/Wkhtmltopdf.php @@ -0,0 +1,53 @@ +wkhtml = $c->profil->wkhtmltopdf->path; + } + + /** + * Défini les options supplémentaires à l'execution de wkhtmltopdf + * -n, --disable-javascript Do not allow webpages to run javascript. + * --disable-internal-links Do no make local links + * --disable-external-links Do no make links to remote web pages + * --user-style-sheet Specify a user style sheet, to load with every page. + * --print-media-type Use print media-type instead of screen. + * --header-left|right + * @param string $name + * @param string $value + */ + public function setOptions($name, $value = '') + { + $this->options[$name] = $value; + } + + /** + * Imprime un fichier HTML en PDF avec l'utilitaire wkhtmltopdf + * @param string $fileIn + * @param string $fileOut + * @return string Nom du fichier + */ + public function exec($fileIn, $fileOut = '') + { + if (empty($fileOut)) {$fileOut = str_replace('.html', '.pdf', $fileIn); } + if(file_exists($fileOut)){ unlink($fileOut); } + + $options = '--disable-internal-links'; + if ( count($this->options) ) + { + foreach ( $this->options as $name => $value ) + { + $options.= ' --'.$name; + if ($value!= '') $options.= ' "'.$value.'"'; + } + } + + $cmd = $this->wkhtml.' '.$options.' "'.$fileIn.'" "'.$fileOut.'"'; + exec( $cmd ); + return $fileOut; + } +} \ No newline at end of file diff --git a/library/Scores/WsScores.php b/library/Scores/WsScores.php new file mode 100644 index 0000000..e11b55c --- /dev/null +++ b/library/Scores/WsScores.php @@ -0,0 +1,2897 @@ +profil->webservice->location; + + $cWS = new Zend_Config_Ini(realpath(dirname(__FILE__)) . '/webservices.ini'); + $config = $cWS->toArray(); + if (APPLICATION_ENV == 'staging' && array_key_exists($location.'-staging', $config)) { + $location.= '-staging'; + } + $this->webservices = $config[$location]['webservices']; + if ( !empty($login) && !empty($password) ){ + $this->login = $login; + $this->password = $password; + } else { + $user = new Scores_Utilisateur(); + $this->login = $user->getLogin(); + $this->password = $user->getPassword(); + $this->nbReponses = $user->getNbRep(); + if ( $user->checkModeEdition() ) { + //Don't use the cache + $this->cacheEnable = false; + //Don't write cache + if ( APPLICATION_ENV == 'staging' ) { + $this->cacheWrite = false; + } + } + } + } + + /** + * loadClient + * @param unknown_type $webservice + */ + protected function loadClient($webservice) + { + $wsdl = $this->webservices[$webservice]['wsdl']; + $options = $this->webservices[$webservice]['options']; + $options['features'] = SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS; + $options['compression'] = SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE; + $options['login'] = $this->login; + $options['password'] = $this->password; + if (APPLICATION_ENV == 'development'){ + $options['cache_wsdl'] = WSDL_CACHE_NONE; + } + $options['trace'] = true; + $options['encoding'] = 'utf-8'; + $client = false; + try { + $client = new SoapClient($wsdl, $options); + } catch (Exception $e) { + Zend_Registry::get('firebug')->info($e->getMessage()); + throw new Exception('Application Error'); + } + return $client; + } + + public function getEntrepriseValo($siren, $nic=0, $niveau=2) + { + $filename = 'getvalo-'.$siren.'-'.$nic.'-'.$niveau; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->nic = $nic; + $params->niveau = $niveau; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getValo($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getValoResult); + } + return $reponse->getValoResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function setSurveillancesMail($login, $email) + { + $params = new stdClass(); + $params->login = $login; + $params->email = $email; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->setSurveillancesMail($params); + return $reponse->setSurveillancesMailResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setUserService($login, $code) + { + $params = new stdClass(); + $params->login = $login; + $params->code = $code; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->setUserService($params); + return $reponse->setUserServiceResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getCatalogEvent($id, $columns) + { + $params = new stdClass(); + $params->id = $id; + $params->columns = $columns; + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getEvent($params); + return $reponse->getEventResult; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + echo $client->__getLastResponse(); + //$this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getCatalogNaf5($id, $columns) + { + $params = new stdClass(); + $params->id = $id; + $params->columns =$columns; + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getNaf5($params); + return $reponse->getNaf5Result; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + echo $client->__getLastResponse(); + //$this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getCatalogFctDir($id, $columns) + { + $params = new stdClass(); + $params->id = $id; + $params->columns =$columns; + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getDirFonction($params); + return $reponse->getDirFonctionResult; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + echo $client->__getLastResponse(); + //$this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getCatalogLegalForm($id, $columns) + { + $params = new stdClass(); + $params->id = $id; + $params->columns =$columns; + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getLegalForm($params); + return $reponse->getLegalFormResult; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + echo $client->__getLastResponse(); + //$this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setLienChange($action, $idLien, $id) + { + $params = new stdClass(); + $params->action = $action; + $params->idLien = $idLien; + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setLienChange($params); + return $reponse->setLienChangeResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * Set Score Cut Off + * @param string $siren + * @param int $encours + * @param int $scoreSolv + * @param int $scoreDir + * @param int $scoreConf + * @param string $remarque + * @param boolean delete + * @return boolean + */ + public function setScoreCutoff($siren, $encours, $scoreSolv, $scoreDir, $scoreConf, $remarque, $delete) + { + $infos = array( + 'siren' => $siren, + 'encours' => $encours, + 'scoreSolv' => $scoreSolv, + 'scoreDir' => $scoreDir, + 'scoreConf' => $scoreConf, + 'remarque' => $remarque, + ); + $params = new stdClass(); + $params->infos = json_encode($infos); + $params->delete = $delete; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setScoreCutoff($params); + return $reponse->setScoreCutoffResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + return $fault->faultstring; + } + } + + /** + * Get Score Cut Off + * @param string $siren + * @return Cutoff values or False + */ + public function getScoreCutoff($siren) + { + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getScoreCutoff($params); + return $reponse->getScoreCutoffResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + return $fault->faultstring; + } + } + + /** + * Delete Score Cut Off + * @param string $siren + * @return boolean + */ + public function delScoreCutoff($siren) + { + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->delScoreCutoff($params); //change name when webservice is ready + return $reponse->delScoreCutoffResult; //change name when webservice is ready + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + return $fault->faultstring; + } + } + + public function searchLogin($idClient, $query) + { + $params = new stdClass(); + $params->idClient = $idClient; + $params->query = $query; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->searchLogin($params); + return $reponse->searchLoginResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getCatalogCurrency() + { + $filename = 'catalog-currency'; + $cache = new Cache($filename); + if ( $cache->exist() ){ + return $cache->getBlock(); + } + + $params = new stdClass(); + $params->id = null; + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getCurrency($params); + $cache->deletefile(); + $cache->setBlock($reponse->getCurrencyResult); + return $reponse->getCurrencyResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getCatalogCountry() + { + $filename = 'catalog-country'; + $cache = new Cache($filename); + if ( $cache->exist() ){ + return $cache->getBlock(); + } + + $params = new stdClass(); + $params->id = null; + $params->columns = array( + 'codPays3', + 'libPays', + 'devise', + 'indTel', + ); + $client = $this->loadClient('catalog'); + try { + $reponse = $client->getCountry($params); + $cache->deletefile(); + $cache->setBlock($reponse->getCountryResult); + return $reponse->getCountryResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function setBourse($isin, $infos) + { + $params = new stdClass(); + $params->isin = $isin; + $params->infos = $infos; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setBourse($params); + return $reponse->setBourseResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getSaisieBourse($isin) + { + $params = new stdClass(); + $params->isin = $isin; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getBourse($params); + return $reponse->getBourseResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + } + + public function setClientTarif($idClient, $log, $service, $type, $priceUnit, $limit, $date, $duree, $doublon) + { + $params = new stdClass(); + $params->idClient = $idClient; + $params->tarif->log = $log; + $params->tarif->service = $service; + $params->tarif->type = $type; + $params->tarif->priceUnit = $priceUnit; + $params->tarif->limit = $limit; + $params->tarif->date = $date; + $params->tarif->duree = $duree; + $params->tarif->doublon = $doublon; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->setClientTarif($params); + return $reponse->setClientTarifResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getClientTarifs($idClient, $service = null) + { + $params = new stdClass(); + $params->idClient = $idClient; + $params->service = $service; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getClientTarifs($params); + return $reponse->getClientTarifsResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setService($idClient, $infos) + { + $params = new stdClass(); + $params->idClient = $idClient; + $params->infos = $infos; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->setService($params); + return $reponse->setServiceResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getServiceUsers($idClient, $service) + { + $params = new stdClass(); + $params->idClient = $idClient; + $params->serviceCode = $service; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getServiceUsers($params); + Zend_Registry::get('firebug')->info($reponse); + return $reponse->getServiceUsersResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getServices($idClient) + { + $params = new stdClass(); + $params->idClient = $idClient; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getServices($params); + return $reponse->getServicesResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getCountryId($code) + { + $params = new stdClass(); + $params->codeCountry = $code; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getCountryId($params); + return $reponse->getCountryIdResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getSaisieLien($id) + { + $params = new stdClass(); + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getLien($params); + return $reponse->getLienResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getLienDoc($id, $type = null, $groupe = false) + { + $params = new stdClass(); + $params->id = $id; + $params->type = $type; + $params->groupe = $groupes; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getLienDoc($params); + return $reponse->getLienDocResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function setLienDoc($infos, $id = null) + { + $params = new stdClass(); + $params->infos = $infos; + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setLienDoc($params); + return $reponse->setLienDocResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function setLien($infos, $id = null) + { + $params = new stdClass(); + $params->infos = $infos; + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setLien($params); + return $reponse->setLienResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getSaisieLienRef($id) + { + $params = new stdClass(); + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getLienRef($params); + return $reponse->getLienRefResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getLienRef($id) + { + $params = new stdClass(); + $params->id = $id; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getLienRef($params); + return $reponse->getLienRefResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setLienRef($infos, $id = null) + { + $params = new stdClass(); + $params->infos = $infos; + $params->id = $id; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setLienRef($params); + return $reponse->setLienRefResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function searchLienRef($query, $type = null) + { + $params = new stdClass(); + $params->query = $query; + $params->type = $type; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->searchLienRef($params); + return $reponse->searchLienRefResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setActeAsso($siren, $waldec, $type, $libelle, $date) + { + $params = new stdClass(); + $params->siren = $siren; + $params->waldec = $waldec; + $params->type = $type; + $params->libelle = $libelle; + $params->date = $date; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setActeAsso($params); + return $reponse->setActeAssoResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function setBilan($siren, $unite, $dateCloture, $dureeMois, $dateCloturePre, $dureeMoisPre, $typeBilan, $postes, $step = 'normal') + { + $params = new stdClass(); + $params->siren = $siren; + $params->data->unite = $unite; + $params->data->dateCloture = $dateCloture; + $params->data->dureeMois = $dureeMois; + $params->data->dateCloturePre = $dateCloturePre; + $params->data->dureeMoisPre = $dureeMoisPre; + $params->data->typeBilan = $typeBilan; + $params->data->postes = $postes; + $params->step = $step; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setBilan($params); + return $reponse->setBilanResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + if ( in_array($fault->faultcode, array('ERR', 'MSG')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * Liste des bilans + * @param string $siren + * @todo : Cache + */ + public function getPiecesBilans($siren) + { + $params = new stdClass(); + $params->identifiant = $siren; + $client = $this->loadClient('pieces'); + try { + $reponse = $client->getBilans($params); + return $reponse->getBilansResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Bilan URL + * @param string $siren + * @param string $diffusion + * @param string $dateCloture + * @param string $reference + */ + public function getPiecesBilan($siren, $diffusion, $dateCloture, $reference) + { + $params = new stdClass(); + $params->identifiant = $siren; + $params->diffusion = $diffusion; + $params->dateCloture = $dateCloture; + $params->reference = $reference; + $client = $this->loadClient('pieces'); + try { + $reponse = $client->getBilan($params); + Zend_Registry::get('firebug')->info($reponse); + return $reponse->getBilanResult; + } catch (SoapFault $fault) { + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function setCGU() + { + $params = new stdClass(); + $params->application =''; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->setCGU($params); + Zend_Registry::get('firebug')->info($reponse); + return $reponse->setCGUResult; + } catch(SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Get all infos for a user (Admin) + * @param string $login + */ + public function getUser($login) + { + $params = new stdClass(); + $params->login = $login; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getUser($params); + return $reponse->getUserResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Retourne les infos du groupe + * @param string $siren + */ + public function getGroupeInfos($siren) + { + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getGroupeInfos($params); + return $reponse->getGroupeInfosResult; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('Error')) ){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * Retourne l'arborescence d'un groupe + * @param string $siren + * @param int pctMin + * @param int $nbNiveaux + */ + public function getGroupesArbo($siren, $pctMin=33, $nbNiveaux=10) + { + $filename = 'groupesarbo-'.$siren.'-'.$pctMin; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass; + $params->siren = $siren; + $params->pctMin = $pctMin; + $params->stopAtIsin = false; + $params->nbNiveaux = $nbNiveaux; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getGroupesArbo($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getGroupesArboResult); + } + return $reponse->getGroupesArboResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Récupération des kbis + */ + public function getKbis($siren) + { + $params = new StdClass; + $params->siren = $siren; + $client = $this->loadClient('pieces'); + try { + $reponse = $client->getKbis($params); + return $reponse->getKbisResult; + } catch (SoapFault $fault) { + if ( in_array($fault->faultcode, array('0000', 'MSG')) ){ + Zend_Registry::get('firebug')->info($fault->faultcode.':'.$fault->faultstring); + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * Enter description here ... + * @param unknown_type $siren + * @param unknown_type $id + * @param unknown_type $codeEven + */ + public function setAnnonceEven($siren, $id, $codeEven) + { + $params = new stdClass(); + $params->siren = $siren; + $params->id = $id; + $params->codeEven = $codeEven; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setAnnonceEven($params); + return $reponse->setAnnonceEvenResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Recherche par référence client + * @param string $search + * @param integer $position + * @param integer $nbRep + */ + public function searchRefClient($search, $position=0, $nbRep=20) + { + $params = new stdClass(); + $params->search = $search; + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->searchRefClient($params); + return $reponse->searchRefClientResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Enter description here ... + * @param unknown_type $siren + * @return Ambigous |boolean + */ + public function getListeDepots($siren) + { + $filename = 'listedepots-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getListeDepots($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeDepotsResult); + } + return $reponse->getListeDepotsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Commande d'une enquete intersud + * @param string $siren + * @param array $infoEnq + * @param array $infoUser + */ + public function commandeEnquete($siren, $infoEnq, $infoUser) + { + $params = new stdClass(); + $params->siren = $siren; + $params->infoEnq = json_encode($infoEnq); + $params->infoDemande = json_encode($infoUser); + $client = $this->loadClient('interne'); + try { + $reponse = $client->commandeEnquete($params); + return $reponse->commandeEnqueteResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Enter description here ... + * @param string $siret + * @param integer $id + * @param array $infos + * @return boolean + */ + public function setInfosEntrep($siret, $id, $infos) + { + $params = new stdClass(); + $params->siret = $siret; + $params->idEntreprise = $siret; + $params->infos = json_encode($infos); + $client = $this->loadClient('saisie'); + try { + $reponse = $client->setInfosEntrep($params); + return $reponse->setInfosEntrepResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + + /** + * Enter description here ... + * @param unknown_type $idAnn + * @param unknown_type $siret + */ + public function supprAnnonceCollecte($idAnn, $siret = '') + { + $params = new stdClass(); + $params->idAnn= $idAnn; + $params->siret= $siret; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->supprAnnonceCollecte($params); + return $reponse->supprAnnonceCollecteResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * supprAnnonce + * @param integer $source + * @param string $idAnn + * @param string $siret + */ + public function supprAnnonce($source, $idAnn, $siret = '') + { + $params = new stdClass(); + $params->source= $source; + $params->idAnn= $idAnn; + $params->siret = $siret; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->supprAnnonce($params); + return $reponse->supprAnnonceResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * dupliqueAnnonce + * @param integer $source + * @param string $idAnn + * @param string $siretIn + * @param string $siretOut + * @return boolean + */ + public function dupliqueAnnonce($source, $idAnn, $siretIn = '', $siretOut = '') + { + $params = new stdClass(); + $params->source= $source; + $params->idAnn= $idAnn; + $params->siretIn = $siretIn; + $params->siretOut = $siretOut; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->dupliqueAnnonce($params); + return $reponse->dupliqueAnnonceResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Enter description here ... + * @param string $idAnn + * @param string $siret + */ + public function getAnnonceCollecte($idAnn, $siret) + { + $params = new stdClass(); + $params->idAnn= $idAnn; + $params->siret = $siret; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getAnnonceCollecte($params); + return $reponse->getAnnonceCollecteResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getRapport + * @param string $siren + * @param integer $niveau + * @param integer $id + * @param boolean $plus + * @param string $ref + * @param integer $encours + * @param string $email + */ + public function getRapport($siren, $niveau=3, $id=0, $plus=false, $ref='', $encours=0, $email='') + { + $filename = 'getrapport-'.$siren.'-'.$niveau.'-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->niveau = $niveau; + $params->id = $id; + $params->plus = $plus; + $params->ref = $ref; + $params->encours = $encours; + $params->email = $email; + $client = $this->loadClient('entreprise'); + try { + ini_set('default_socket_timeout', 600); + set_time_limit(300); + $reponse = $client->getRapport($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getRapportResult); + } + return $reponse->getRapportResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getPortefeuilleCsv + * @param unknown_type $login + * @param unknown_type $idClient + */ + public function getPortefeuilleCsv($login='', $idClient=0) + { + $params = new stdClass(); + $params->login = $login; + $params->idClient = $idClient; + + //@todo : Seulement pour aider Altysis + $c = Zend_Registry::get('config'); + $location = $c->profil->webservice->location; + + $cWS = new Zend_Config_Ini(realpath(dirname(__FILE__)) . '/webservices.ini'); + $config = $cWS->toArray(); + $this->webservices = $config[$location]['webservices']; + //@todo + + $client = $this->loadClient('interne'); + try { + $reponse = $client->getPortefeuilleCsv($params); + return $reponse->getPortefeuilleCsvResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeSurveillanceCsv + * @param unknown_type $source + * @param unknown_type $login + * @param unknown_type $idClient + */ + public function getListeSurveillancesCsv($source='', $login='', $idClient=0) + { + $params = new stdClass(); + $params->source = $source; + $params->login = $login; + $params->idClient = $idClient; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getListeSurveillancesCsv($params); + return $reponse->getListeSurveillancesCsvResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getLogsClients + * @param unknown_type $mois + * @param unknown_type $detail + * @param unknown_type $idClient + * @param unknown_type $login + * @param unknown_type $all + */ + public function getLogsClients($mois, $detail=0, $idClient=0, $login='', $all=0) + { + $params = new stdClass(); + $params->mois = $mois; + $params->detail = $detail; + $params->idClient = $idClient; + $params->login = $login; + $params->all = $all; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getLogsClients($params); + return $reponse->getLogsClientsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + + /** + * getIndiScore + * @param string $siren + * @param string $nic + * @param integer $niveau + * @param boolean $plus + * @param string $ref + * @param integer $encours + * @param string $email + */ + public function getIndiScore($siren, $nic=0, $niveau=2, $plus=false, $ref='', $encours=0, $email='') + { + $filename = 'getindiscore-'.$siren.'-'.$nic.'-'.$niveau; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->nic = $nic; + $params->niveau = $niveau; + $params->plus = $plus; + $params->ref = $ref; + $params->encours = $encours; + $params->email = $email; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getIndiScore($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getIndiScoreResult); + } + return $reponse->getIndiScoreResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * setLog + * @param string $page + * @param string $siret + * @param string $id + * @param string $ref + */ + public function setLog ($page, $siret, $id=0, $ref = '') + { + $params = new stdClass(); + $params->page = $page; + $params->siret = $siret; + $params->id = $id; + $params->ref = $ref; + $client = $this->loadClient('interne'); + try { + $reponse = $client->setLog($params); + return true; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeClients + * @param unknown_type $idClient + */ + public function getListeClients($idClient=false) + { + $params = new stdClass(); + $params->idClient = $idClient; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getListeClients($params); + return $reponse->getListeClientsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * setMandataire + * Enter description here ... + * @param unknown_type $infos + */ + public function setMandataire($infos) + { + $params = new stdClass(); + $params->infos->id = $infos['id']; + $params->infos->sirenGrp = $infos['sirenGrp']; + $params->infos->sirenMand = $infos['sirenMand']; + $params->infos->Nom = $infos['Nom']; + $params->infos->Prenom = $infos['Prenom']; + $params->infos->type = $infos['type']; + $params->infos->stagiaire = $infos['stagiaire']; + $params->infos->coursAppel = $infos['coursAppel']; + $params->infos->coursAppel2 = $infos['coursAppel2']; + $params->infos->tribunal = $infos['tribunal']; + $params->infos->Statut = $infos['Statut']; + $params->infos->adresse = $infos['adresse']; + $params->infos->adresseComp = $infos['adresseComp']; + $params->infos->cp = $infos['cp']; + $params->infos->ville = $infos['ville']; + $params->infos->tel = $infos['tel']; + $params->infos->fax = $infos['fax']; + $params->infos->email = $infos['email']; + $params->infos->web = $infos['web']; + $params->infos->contact = $infos['contact']; + $client = $this->loadClient('interne'); + try { + $reponse = $client->setMandataire($params); + return $reponse->setMandataireResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getIdCourAppel + * @param string $codeTribunal + */ + public function getIdCoursAppel($codeTribunal) + { + $params = new stdClass(); + $params->codeTribunal = $codeTribunal; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getIdCoursAppel($params); + return $reponse->getIdCoursAppelResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * searchMandataires + * @param unknown_type $nom + * @param unknown_type $type + * @param unknown_type $cpDep + */ + public function searchMandataires($nom, $type=array(), $cpDep=0) + { + $params = new stdClass(); + $params->nom = $nom; + $params->type = $type; + $params->cpDep = $cpDep; + $client = $this->loadClient('interne'); + try { + $reponse = $client->searchMandataires($params); + return $reponse->searchMandatairesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getMandataire + * @param string $idMand + */ + public function getMandataire($idMand) + { + $params = new stdClass(); + $params->id = $idMand; + $client = $this->loadClient('saisie'); + try { + $reponse = $client->getMandataire($params); + return $reponse->getMandataireResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Recherche Annonce + * @param string $source + * @param string $dateAnnee + * @param integer $numParution + * @param integer $numAnnonce + */ + public function rechercheAnnonce($source, $dateAnnee, $numParution, $numAnnonce) + { + $params = new stdClass(); + $params->source = $source; + $params->dateAnnee = $dateAnnee; + $params->numParution = $numParution; + $params->numAnnonce = $numAnnonce; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->rechercheAnnonce($params); + return $reponse->rechercheAnnonceResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Recherche Historique + * @param string $recherche + * @param string $annee + * @param string $typeBod + * @param integer $deb + */ + public function rechercheHisto($recherche, $annee, $typeBod, $deb = 0) + { + $params = new stdClass(); + $params->recherche = $recherche; + $params->annee = $annee; + $params->typeBod = $typeBod; + $params->deb = $deb; + $params->nbRep = $this->nbReponses; + $client = $this->loadClient('interne'); + try { + $reponse = $client->rechercheHisto($params); + return $reponse->rechercheHistoResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Recherche par dirigeants + * @param array $criteres + * @param integer $deb + * @param integer $nbRep + * @param integer $maxRep + */ + public function searchDir($criteres, $deb=0, $nbRep=20, $maxRep=200) + { + $params = new stdClass(); + $params->criteres->nom = $criteres['dirNom']; + $params->criteres->prenom = $criteres['dirPrenom']; + $params->criteres->dateNaiss = $criteres['dirDateNaiss']; + $params->criteres->lieuNaiss = $criteres['lieuNaiss']; + $params->criteres->pertinence = ($criteres['pertinence']===true) ? true : false ; + $params->deb = $deb; + $params->nbRep = $nbRep; + $params->maxRep = $maxRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->searchDir($params); + return $reponse->searchDirResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * Recherche Actionnaire + * @param unknown_type $nom + * @param unknown_type $cpVille + * @param unknown_type $siren + * @param unknown_type $pays + * @param unknown_type $pctMin + * @param unknown_type $pctMax + * @param unknown_type $deb + * @param unknown_type $nbRep + * @param unknown_type $maxRep + * @param unknown_type $pertinence + */ + public function searchAct($nom, $cpVille='', $siren='', $pays='', $pctMin=0, $pctMax=100, $deb=0) + { + $params = new stdClass(); + $params->nom = $nom; + $params->cpVille = $cpVille; + $params->siren = $siren; + $params->pays = $pays; + $params->pctMin = $pctMin; + $params->pctMax= $pctMax; + $params->pertinence = false; + $params->deb = $deb; + $params->nbRep = $this->nbReponses; + //$params->maxRep = $maxRep; + $client = $this->loadClient('interne'); + try { + $reponse = $client->searchAct($params); + return $reponse->searchActResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + + /** + * getTribunaux + * Enter description here ... + * @param unknown_type $tabTypes + */ + public function getTribunaux($tabTypes = array()) + { + $params = new stdClass(); + $params->tabTypes = $tabTypes; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getTribunaux($params); + return $reponse->getTribunauxResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeJalCollecte + * Enter description here ... + */ + public function getListeJalCollecte() + { + $filename = 'listejalcollecte'; + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + $params = new stdClass(); + $client = $this->loadClient('interne'); + try { + $reponse = $client->getListeJalCollecte(); + $cache->deletefile(); + $cache->setBlock($reponse->getListeJalCollecteResult); + return $reponse->getListeJalCollecteResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getDevises + * Enter description here ... + * @param unknown_type $codeIsoDevise + */ + public function getDevises($codeIsoDevise = '') + { + $params = new stdClass(); + $params->codeIsoDevise = $codeIsoDevise; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getDevises($params); + return $reponse->getDevisesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getPrivilegesCumul + * Enter description here ... + * @param unknown_type $siren + * @param unknown_type $tabTypes + */ + public function getPrivilegesCumul($siren, $tabTypes = array() ) + { + $params = new stdClass(); + $params->siren = $siren; + $params->tabTypes = $tabTypes; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getPrivilegesCumul($params); + return $reponse->getPrivilegesCumulResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getPrivilegesDetail + * Enter description here ... + * @param unknown_type $siren + * @param unknown_type $tabTypes + */ + public function getPrivilegesDetail($siren, $tabTypes = array() ) + { + $params = new stdClass(); + $params->siren = $siren; + $params->tabTypes = $tabTypes; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getPrivilegesDetail($params); + return $reponse->getPrivilegesDetailResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * setSurveillance + * Enter description here ... + * @param string $siret + * @param string $email + * @param string $ref + * @param string $source + * @param boolean $delete + * @param integer $encoursClient + */ + public function setSurveillance($siret, $email, $ref = '', $source='annonces', $delete=false, $encoursClient=0) + { + $params = new stdClass(); + $params->siret = $siret; + $params->email = $email; + $params->ref = $ref; + $params->source = $source; + $params->delete = $delete; + $params->encoursClient = $encoursClient; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->setSurveillance($params); + return $reponse->setSurveillanceResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeUtilisateurs + * Enter description here ... + * @param string $login + * @param integer $idClient + */ + public function getListeUtilisateurs($login, $idClient = -1) + { + $params = new stdClass(); + $params->login = $login; + $params->idClient = $idClient; + $client = $this->loadClient('gestion'); + try { + $reponse = $client->getListeUtilisateurs($params); + return $reponse->getListeUtilisateursResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getMarques + * Enter description here ... + * @param string $siren + * @param integer $idDepot + */ + public function getMarques($siren, $idDepot = 0) + { + $filename = 'marques-'.$siren.'-'.$idDepot; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->idDepot = $idDepot; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getMarques($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getMarquesResult); + } + return $reponse->getMarquesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeConventions + * Enter description here ... + * @param string $siren + */ + public function getListeConventions($siren) + { + $filename = 'conventions-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getListeConventions($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeConventionsResult); + } + return $reponse->getListeConventionsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeCompetences + * Enter description here ... + * @param string $siret + * @param string $type + * @param string $codeInsee + */ + public function getListeCompetences($siret, $type, $codeInsee) + { + $filename = 'competences-'.$siret.'-'.$type.'-'.$codeInsee; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siret = $siret; + $params->type = $type; + $params->codeInsee = $codeInsee; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getListeCompetences($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeCompetencesResult); + } + return $reponse->getListeCompetencesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getInfosReg + * @param string $siren + * @param mixed $id + */ + public function getInfosReg($siren, $id = false) + { + $filename = 'infosreg-'.$siren.'-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->id = $id; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getInfosReg($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getInfosRegResult); + } + return $reponse->getInfosRegResult; + } catch (SoapFault $fault) { + if ($fault->faultcode=='1030'){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + public function getAnnoncesNum($siren) + { + $filename = 'annoncesnum-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnoncesNum($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesNumResult); + } + return $reponse->getAnnoncesNumResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getAnnoncesBalo($siren, $idAnn=null, $filtre=null, $position=0, $nbRep=20) + { + $filename = 'annoncesbalo-'.$siren.'-'.$idAnn.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->idAnn = $idAnn; + $params->filtre = $filtre; + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnoncesBalo($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesBaloResult); + } + return $reponse->getAnnoncesBaloResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getAnnoncesBoamp($siren, $idAnn=null, $filtre = null, $position=0, $nbRep=20) + { + $filename = 'annoncesboamp-'.$siren.'-'.$idAnn.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->idAnn = $idAnn; + + $params->filtre = null; + if (!empty($filtre) && in_array($filtre,array('A','M'))) { + $filtreStruct = new stdClass(); + $filtreStruct->key = 'type'; + $filtreStruct->value = $filtre; + $params->filtre[] = $filtreStruct; + } + + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnoncesBoamp($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesBoampResult); + } + return $reponse->getAnnoncesBoampResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getAnnoncesAsso($siren, $idAnn=null, $filtre=null, $position=0, $nbRep=20) + { + $filename = 'annoncesasso-'.$siren.'-'.$idAnn.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->idAnn = $idAnn; + $params->filtre = $filtre; + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnoncesAsso($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesAssoResult); + } + return $reponse->getAnnoncesAssoResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + public function getAnnoncesLegales($siren, $idAnn=null, $filtre=null, $position=0, $nbRep=20) + { + $filename = 'annonceslegales-'.$siren.'-'.$idAnn.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->idAnn = $idAnn; + $params->filtre = $filtre; + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnoncesLegales($params); + Zend_Registry::get('firebug')->info($reponse); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesLegalesResult); + } + return $reponse->getAnnoncesLegalesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getAnnonces + * @param string $siren + * @param integer $filtre + * @param string $idAnn + * @param integer $position + * @param integer $nbRep + */ + public function getAnnonces($siren, $filtre=0, $idAnn='', $position=0, $nbRep=100) + { + $filename = 'annonces-'.$siren.'-'.$filtre.'-'.$idAnn.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->filtre = $filtre; + $params->idAnn = $idAnn; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getAnnonces($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getAnnoncesResult); + } + return $reponse->getAnnoncesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * isSirenExistant + * @param string $siren + */ + public function isSirenExistant($siren) + { + $params = new stdClass(); + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->isSirenExistant($params); + return $reponse->isSirenExistantResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getPortefeuille + * @param object $filtre + * @param integer $position + * @param integer $nbAffichage + */ + public function getPortefeuille($filtre, $position = 0, $nbAffichage = 100) + { + $params = new StdClass; + $params->filtre = $filtre; + $params->deb = $position; + $params->nbRep = $nbAffichage; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getPortefeuille($params); + return $reponse->getPortefeuilleResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getSurveillances + * @param object $filtre + * @param integer $deb + * @param integer $nbRep + * @param string $tri + */ + public function getSurveillances($filtre, $deb=0, $nbRep=100) + { + $params = new StdClass; + $params->filtre = $filtre; + $params->position = $deb; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getSurveillances($params); + return $reponse->getSurveillancesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getListeBilans + * @param string $siren + */ + public function getListeBilans($siren) + { + $filename = 'listebilans-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass; + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getListeBilans($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeBilansResult); + } + return $reponse->getListeBilansResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getBilan + * @param string $siren + * @param unknown_type $millesime + * @param unknown_type $typeBilan + * @param unknown_type $ref + */ + public function getBilan($siren, $millesime, $typeBilan, $ref) + { + $filename = 'bilan-'.$siren.'-'.$millesime.'-'.$typeBilan.'-'.$ref; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass; + $params->siren = $siren; + $params->millesime = $millesime; + $params->typeBilan = $typeBilan; + $params->ref = $ref; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getBilan($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getBilanResult); + } + return $reponse->getBilanResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getBanques + * @param string $siren + */ + public function getBanques($siren) + { + $filename = 'banques-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass; + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getBanques($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getBanquesResult); + } + return $reponse->getBanquesResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getInfosBourse + * @param string $siren + */ + public function getInfosBourse($siren) + { + $filename = 'infosbourse-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass; + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getInfosBourse($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getInfosBourseResult); + } + return $reponse->getInfosBourseResult; + } catch (SoapFault $fault) { + if ($fault->faultcode=='1030'){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * getRatios + * @param string $siren + * @param string $page + */ + public function getRatios($siren, $page = 'ratios') + { + $filename = 'ratios-'.$siren.'-'.$page; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siren = $siren; + $params->page = $page; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getRatios($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getRatiosResult); + } + return $reponse->getRatiosResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + + /** + * getDirigeants + * @param string $siren + * @param boolean $histo + */ + public function getDirigeants($siren, $histo=false) + { + $filename = 'dirigeants-'.$siren.'-'.intval($histo); + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siren = $siren; + $params->histo = $histo; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getDirigeants($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getDirigeantsResult); + } + return $reponse->getDirigeantsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getDirigeantsOp + * @param string $siren + */ + public function getDirigeantsOp($siren) + { + $filename = 'dirigeantsop-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siren = $siren; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getDirigeantsOp($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getDirigeantsOpResult); + } + return $reponse->getDirigeantsOpResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getIdentiteLight + * @param string $siret + * @param int $id + * @return mixed + */ + public function getIdentiteLight($siret, $id = 0) + { + $filename = 'identitelight-'.$siret.'-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siret = $siret; + $params->id = $id; + $client = $this->loadClient('interne'); + try { + $reponse = $client->getIdentiteLight($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getIdentiteLightResult); + } + return $reponse->getIdentiteLightResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * getIdentite + * @param string $siret + * @param int $id + * @return mixed + */ + public function getIdentite($siret, $id = 0) + { + $filename = 'identite-'.$siret.'-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siret = $siret; + $params->id = $id; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getIdentite($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getIdentiteResult); + } + return $reponse->getIdentiteResult; + } catch (SoapFault $fault) { + if (in_array($fault->getCode(), '1020')) { + return $fault->getMessage(); + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * getIdentiteProcol + * @param string $siret + * @param int $id + * @return mixed + */ + public function getIdentiteProcol($siret, $id = 0) + { + $filename = 'identiteprocol-'.$siret.'-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siret = $siret; + $params->id = $id; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getIdentiteProcol($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getIdentiteProcolResult); + } + return $reponse->getIdentiteProcolResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + throw new Zend_Soap_Client_Exception($fault); + return false; + } + } + + /** + * getLiensById + * @param int $id + * @return mixed + */ + public function getLiensById($id) + { + $filename = 'liensbyid-'.$id; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->id = $id; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getLiensById($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getLiensByIdResult); + } + return $reponse->getLiensByIdResult; + } catch (SoapFault $fault) { + if ($fault->getCode()=='MSG') { + return $fault->getMessage(); + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * getLiens + * @param string $siren + * @return mixed + */ + public function getLiens($siren) + { + $filename = 'liens-'.$siren; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siren = $siren; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getLiens($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getLiensResult); + } + return $reponse->getLiensResult; + } catch (SoapFault $fault) { + if ($fault->getCode()=='MSG') { + return $fault->getMessage(); + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * getListeEvenements + * @param string $siren + * @param string $nic + * @param integer $position + * @param integer $nbRep + * @return mixed + */ + public function getListeEvenements($siren, $nic=0, $position=0, $nbRep=200) + { + $filename = 'listeevenements-'.$siren.'-'.$nic.'-'.$position.'-'.$nbRep; + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new stdClass(); + $params->siren = $siren; + $params->nic = $nic; + $params->position = $position; + $params->nbRep = $nbRep; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getListeEvenements($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeEvenementsResult); + } + return $reponse->getListeEvenementsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + + } + + /** + * getListeEtablissements + * @param string $siren + * @return mixed + */ + public function getListeEtablissements($siren, $actif = -1, $position = 0) + { + $filename = 'listeetablissements-'.$siren.'-'.$position; + if ($actif != -1){ + $filename.= '-'.$actif; + } + + if ($this->cacheWrite) { + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock(); + } + } + + $params = new StdClass(); + $params->siren = $siren; + $params->dep = 0; + $params->actif = $actif; + $params->position = $position; + $params->nbRep = 200; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->getListeEtablissements($params); + if ($this->cacheWrite) { + $cache->deletefile(); + $cache->setBlock($reponse->getListeEtablissementsResult); + } + return $reponse->getListeEtablissementsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + + /** + * searchEntreprise + * @param array $criteres + * @param int $position + * @param int $nbRep + * @param int $actif + */ + public function searchEntreprise($criteres, $position = 0, $nbRep = null) + { + $params = new StdClass; + $params->criteres = new StdClass; + $params->criteres->identifiant = $criteres['identifiant']; + $params->criteres->raisonSociale = $criteres['raisonSociale']; + $params->criteres->adresse = $criteres['adresse']; + $params->criteres->codePostal = $criteres['codePostal']; + $params->criteres->ville = $criteres['ville']; + $params->criteres->telFax = $criteres['telFax']; + $params->criteres->naf = $criteres['naf']; + $params->criteres->siege = false; + $params->criteres->actif = in_array($criteres['actif'], array(0,1,2)) ? $criteres['actif'] : 2; + $params->criteres->fj = $criteres['fj']; + $params->position = $position; + $params->nbRep = empty($nbRep) ? $this->nbReponses : $nbRep ; + $client = $this->loadClient('entreprise'); + try { + $reponse = $client->searchEntreprise($params); + return $reponse->searchEntrepriseResult; + } catch (SoapFault $fault) { + if (in_array($fault->faultcode, array('1010', '1020'))){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * setCmdAsso + * @param unknown_type $infosCommande + * @param unknown_type $infosDemandeur + * @return boolean + */ + public function setCmdAsso($infosCommande, $infosDemandeur) + { + $params = new stdClass(); + $params->infosCommande = $infosCommande; + $params->infosDemandeur = $infosDemandeur; + try { + $client = $this->loadClient('interne'); + $reponse = $client->setCmdAsso($params); + return $reponse->setCmdAssoResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + Zend_Registry::get('firebug')->info($fault); + //Placer exception pour affichage message + return false; + } + } + + /** + * Enregistre ou modifie un client + * @param unknown_type $infos + * @return boolean + */ + public function setClient($infos) + { + $params = new stdClass(); + $params->infos = json_encode($infos); + try { + $client = $this->loadClient('gestion'); + $reponse = $client->setClient($params); + return $reponse->setClientResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + Zend_Registry::get('firebug')->info($fault); + //Placer exception pour affichage message + return false; + } + } + + /** + * setInfosLogin + * @param string $login + * @param string $action + * @param array $infos + */ + public function setInfosLogin($login, $action, $infos = null) + { + $params = new stdClass(); + $params->login = $login; + $params->action = $action; + if ($infos !== null ) { + $params->infos = json_encode($infos); + } + try { + $client = $this->loadClient('gestion'); + $reponse = $client->setInfosLogin($params); + return $reponse->setInfosLoginResult; + } catch (SoapFault $fault) { + if (in_array($fault->getCode(),array('MSG','ERR'))) { + return $fault->getMessage(); + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + Zend_Registry::get('firebug')->info($fault); + //Placer exception pour affichage message + + return false; + } + } + } + + /** + * getInfosLogin + * @param string $login + * @param string $ipUtilisateur + */ + public function getInfosLogin($login, $ipUtilisateur = '') + { + $params = new stdClass(); + $params->login = $login; + $params->ipUtilisateur = $ipUtilisateur; + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getInfosLogin($params); + return $reponse->getInfosLoginResult; + } catch (SoapFault $fault) { + if (substr($fault->faultcode,0,1)=='0'){ + return $fault->faultstring; + } else { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + return false; + } + } + } + + /** + * getNextLogin + * @param int $idClient + */ + public function getNextLogin($idClient) + { + $params = new stdClass(); + $params->idClient = $idClient; + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getNextLogin($params); + Zend_Registry::get('firebug')->info($reponse); + return $reponse->getNextLoginResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + Zend_Registry::get('firebug')->info($fault); + //Placer exception pour affichage message + return false; + } + } + + /** + * getLogs + */ + public function getLogs() + { + $filename = 'logs'; + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock('logs'); + } + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getLogs(); + $cache->deletefile(); + $cache->setBlock($reponse->getLogsResult); + return $reponse->getLogsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + //Placer exception pour affichage message + return false; + } + } + + /** + * getListePrefs + */ + public function getListePrefs() + { + $filename = 'prefs'; + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock('prefs'); + } + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getListePrefs(); + $cache->deletefile(); + $cache->setBlock($reponse->getListePrefsResult); + return $reponse->getListePrefsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + //Placer exception pour affichage message + return false; + } + } + + /** + * getListeDroits + */ + public function getListeDroits() + { + $filename = 'droits'; + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock('droits'); + } + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getListeDroits(); + $cache->deletefile(); + $cache->setBlock($reponse->getListeDroitsResult); + return $reponse->getListeDroitsResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + //Placer exception pour affichage message + return false; + } + } + + /** + * getCategory + */ + public function getCategory() + { + $filename = 'category'; + $cache = new Cache($filename); + if ($cache->exist() && $this->cacheEnable ){ + return $cache->getBlock('category'); + } + try { + $client = $this->loadClient('gestion'); + $reponse = $client->getCategory(); + $cache->deletefile(); + $cache->setBlock($reponse->getCategoryResult); + return $reponse->getCategoryResult; + } catch (SoapFault $fault) { + $this->soaperror(__FUNCTION__, $fault, $client->__getLastRequest(), $client->__getLastResponse()); + //Placer exception pour affichage message + return false; + } + + } + + /** + * soaperror + * @param string $method + * @param soapfault $fault + * @param string $requete + * @param string $reponse + */ + protected function soaperror($method, $fault, $requete, $reponse) + { + $message = ''; + $message.= 'Erreur SOAP - Code : '.$fault->faultcode.' - Message : '.$fault->faultstring; + $message.= ' - Utilisateur : '.$this->login; + $message.= "\n\n"; + + $message.= "Method : ".$method.", File :".$fault->getFile().", Ligne : ".$fault->getLine(); + $message.= "\n\n"; + + $message.= "Detail :\n".$fault->getTraceAsString(); + $message.= "\n\n"; + + if ( $controller = Zend_Controller_Front::getInstance() ) { + $message.= "Request Parameters :\n ".print_r($controller->getRequest()->getParams(), true); + $message.= "\n\n"; + } + + $message.= "Referer : ".$_SERVER['HTTP_REFERER']."\n\n"; + + $message.= "Requete :\n ".$requete."\n"; + $message.= "Reponse :\n ".$reponse."\n"; + $c = Zend_Registry::get('config'); + require_once 'Scores/Mail.php'; + $mail = new Mail(); + $mail->setSubject('[ERREUR SOAP] - '.$c->profil->server->name.' -'.date('Ymd')); + $mail->setBodyTexte($message); + $mail->setFrom('supportdev'); + $mail->addToKey('supportdev'); + $mail->send(); + } +} \ No newline at end of file diff --git a/library/Scores/classMMap.php b/library/Scores/classMMap.php new file mode 100644 index 0000000..ca72de7 --- /dev/null +++ b/library/Scores/classMMap.php @@ -0,0 +1,173 @@ +0 ) + return floor($dec); + else + return ceil($dec); + } +} + +if ( !function_exists('dec2dms') ) +{ + function dec2dms($dec) { + $d = supprDecimales($dec); + $m = supprDecimales(($dec - $d) * 60); + $s = abs(round(((($dec - $d) * 60) - $m) * 60)); + $m = abs($m); + return $d.'°'.$m."'".$s.'"'; + } +} + +/** Retourne la distance en kilomètres entre 2 points à la surface de la terre + ** Calcul effectué avec la sphère « GRS80 » de rayon R = 6378,187 km + ** Autre sphère possible : « Picard » de rayon R = 6371,598 km + ** + ** @param double $latA Latitude du point A en décimal + ** @param double $lonA Longitude du point A en décimal + ** @param double $latB Latitude du point B en décimal + ** @param double $lonB Longitude du point B en décimal + ** @return unknown + **/ +function distance($latA=0, $lonA=0, $latB=0, $lonB=0) { +//s(AB) = arc cos (sinjA sinjB + cos jA cosjB cosdl) +// avec dl = lB - lA + $e=pi()*$latA/180; + $f=pi()*$lonA/180; + $g=pi()*$latB/180; + $h=pi()*$lonB/180; + + $j=acos(cos($e)*cos($g)*cos($f)*cos($h) + cos($e)*sin($f)*cos($g)*sin($h) + sin($e)*sin($g)); + + return round(6371.598*$j,3); // div par 1.852 ==> résultat en miles nautiques +} + +class MMap { + + public $body = ''; + public $header = ''; + public $cookie = ''; + public $codeRetour = 0; + public $codeRetour2 = 0; + + public $latitudeDec= 0; // Latitude en Décimal + public $latitudeDeg= 0; // Latitude en Dégrés + public $longitudeDec= 0; // Longitude en Décimal + public $longitudeDeg= 0; // Longitude en Dégrés + + public $precision = 0; + public $adresseValidee=''; + + function __construct($adresse, $cp, $ville, $pays='France') { +/* + $referer='http://maps.google.fr/?output=html'; + $page=getUrl($referer, '', '', $referer, false, 'maps.google.fr'); + $this->body=$page['body']; + $this->codeRetour=$page['code']; + $this->header=$page['header']; + $this->cookie=$this->header['Set-Cookie']; + + $url='http://maps.google.fr/maps?f=q&output=html&q='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays); + $page=getUrl($url, $this->cookie, '', $referer, false, 'maps.google.fr'); + $this->body=$page['body']; + $this->codeRetour=$page['code']; + $this->header=$page['header']; + if (strpos($this->body, '

    Nous ne sommes pas parvenus à localiser l\'adresse :
    ')===true) return false; + + $this->adresseValidee=strtoupper(htmlspecialchars_decode(str_replace('
    ', ', ', @getTextInHtml($this->body, '

    ')), ENT_QUOTES)); + + $this->latitudeDec=@getTextInHtml($this->body, 'latitude_e6=', '=','&')/1000000; + $this->longitudeDec=@getTextInHtml($this->body, 'longitude_e6=', '=','&'); + if ($this->longitudeDec>1000000000) + $this->longitudeDec=-(4294967293-$this->longitudeDec)/1000000; + else + $this->longitudeDec=$this->longitudeDec/1000000; + + $this->latitudeDeg=dec2dms($this->latitudeDec); + $this->longitudeDeg=dec2dms($this->longitudeDec); + + if ($this->codeRetour==200) + return true; + + //$latitude_range = (180 * $range) / ($pi * $radius_of_earth); + //$longitude_range = (180 * $range) / ($pi * $radius_of_earth * sin((90 - $alat) * $pi / 180)); +*/ + $apiKey='ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw'; + $url='http://maps.google.com/maps/geo?q='.urlencode($adresse.', '.$cp.' '. $ville.', '.$pays).'&output=xml&key='.$apiKey; + $referer='';//http://maps.google.fr/?output=html'; + $page=getUrl($url, '', '', $referer, false, 'maps.google.com', '', 2); + $this->body=$page['body']; + $this->codeRetour=$page['code']; + $this->header=$page['header']; + //die($this->body=$page['body']); + //{"name":"3 rue viète, 75017 paris, france","Status":{"code":200,"request":"geocode"},"Placemark":[{"id":"p1","address":"3, Rue Viète, 75017 17ème Arrondissement, Paris, France","AddressDetails":{"Country":{"CountryNameCode":"FR","AdministrativeArea":{"AdministrativeAreaName":"Ile-de-France","SubAdministrativeArea":{"SubAdministrativeAreaName":"Paris","Locality":{"LocalityName":"Paris","DependentLocality":{"DependentLocalityName":"17ème Arrondissement","Thoroughfare":{"ThoroughfareName":"3, Rue Viète"},"PostalCode":{"PostalCodeNumber":"75017"}}}}}},"Accuracy": 8},"Point":{"coordinates":[2.306174,48.883705,0]}}]} + /*3 rue viète, 75017 paris, france200geocode
    3, Rue Viète, 75017 17ème Arrondissement, Paris, France
    FRIle-de-FranceParisParis17ème Arrondissement3, Rue Viète750172.306174,48.883705,0
    */ + +/* +0 Unknown location. (Since 2.59) +1 Country level accuracy. (Since 2.59) +2 Region (state, province, prefecture, etc.) level accuracy. (Since 2.59) +3 Sub-region (county, municipality, etc.) level accuracy. (Since 2.59) +4 Town (city, village) level accuracy. (Since 2.59) +5 Post code (zip code) level accuracy. (Since 2.59) +6 Street level accuracy. (Since 2.59) +7 Intersection level accuracy. (Since 2.59) +8 Address level accuracy. (Since 2.59) +*/ + $this->precision=@getTextInHtml($this->body, '
    ', ' nowrap>', '