de.oddb 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. data/Guide.txt +3 -0
  2. data/History.txt +5 -0
  3. data/LICENCE.txt +339 -0
  4. data/Manifest.txt +430 -0
  5. data/README +423 -0
  6. data/README.txt +25 -0
  7. data/Rakefile +28 -0
  8. data/bin/admin +71 -0
  9. data/bin/exportd +44 -0
  10. data/bin/oddbd +33 -0
  11. data/data/fulltext/data/dicts/french/fulltext.aff +1057 -0
  12. data/data/fulltext/data/dicts/french/fulltext.dict +91189 -0
  13. data/data/fulltext/data/dicts/french/fulltext.stop +135 -0
  14. data/data/fulltext/data/dicts/german/fulltext.aff +1233 -0
  15. data/data/fulltext/data/dicts/german/fulltext.dict +287574 -0
  16. data/data/fulltext/data/dicts/german/fulltext.stop +133 -0
  17. data/data/fulltext/data/german_compound/README +15 -0
  18. data/data/fulltext/data/german_compound/compound.pl +63 -0
  19. data/data/fulltext/data/german_compound/german.stop +20 -0
  20. data/data/fulltext/data/ispell-german-compound.tar.gz +0 -0
  21. data/data/fulltext/redist/dict_french/Makefile +12 -0
  22. data/data/fulltext/redist/dict_french/README.french +1 -0
  23. data/data/fulltext/redist/dict_french/dict_french.sql.in +7 -0
  24. data/data/fulltext/redist/dict_french/dict_snowball.c +56 -0
  25. data/data/fulltext/redist/dict_french/french_stem.c +1222 -0
  26. data/data/fulltext/redist/dict_french/french_stem.h +16 -0
  27. data/data/fulltext/redist/dict_french/subinclude.h +2 -0
  28. data/data/fulltext/redist/dict_german/Makefile +12 -0
  29. data/data/fulltext/redist/dict_german/README.german +1 -0
  30. data/data/fulltext/redist/dict_german/dict_german.sql.in +7 -0
  31. data/data/fulltext/redist/dict_german/dict_snowball.c +56 -0
  32. data/data/fulltext/redist/dict_german/german_stem.c +527 -0
  33. data/data/fulltext/redist/dict_german/german_stem.h +16 -0
  34. data/data/fulltext/redist/dict_german/subinclude.h +1 -0
  35. data/data/fulltext/redist/french_stem.c +1222 -0
  36. data/data/fulltext/redist/french_stem.h +16 -0
  37. data/data/fulltext/redist/german_stem.c +527 -0
  38. data/data/fulltext/redist/german_stem.h +16 -0
  39. data/jobs/export_chde_xls +20 -0
  40. data/jobs/export_csv +20 -0
  41. data/jobs/export_fachinfo_yaml +20 -0
  42. data/jobs/export_patinfo_yaml +20 -0
  43. data/jobs/export_yaml +20 -0
  44. data/jobs/import_dimdi +15 -0
  45. data/jobs/import_gkv +19 -0
  46. data/jobs/import_pharma24 +15 -0
  47. data/jobs/import_pharmnet +30 -0
  48. data/jobs/import_whocc +18 -0
  49. data/lib/fixes/singular.rb +9 -0
  50. data/lib/fixes/yaml.rb +13 -0
  51. data/lib/oddb.rb +13 -0
  52. data/lib/oddb/business/company.rb +18 -0
  53. data/lib/oddb/business/grant_download.rb +27 -0
  54. data/lib/oddb/business/invoice.rb +75 -0
  55. data/lib/oddb/config.rb +112 -0
  56. data/lib/oddb/currency.rb +6 -0
  57. data/lib/oddb/drugs.rb +16 -0
  58. data/lib/oddb/drugs/active_agent.rb +37 -0
  59. data/lib/oddb/drugs/atc.rb +53 -0
  60. data/lib/oddb/drugs/composition.rb +41 -0
  61. data/lib/oddb/drugs/ddd.rb +24 -0
  62. data/lib/oddb/drugs/dose.rb +107 -0
  63. data/lib/oddb/drugs/galenic_form.rb +21 -0
  64. data/lib/oddb/drugs/galenic_group.rb +17 -0
  65. data/lib/oddb/drugs/package.rb +111 -0
  66. data/lib/oddb/drugs/part.rb +55 -0
  67. data/lib/oddb/drugs/product.rb +25 -0
  68. data/lib/oddb/drugs/sequence.rb +68 -0
  69. data/lib/oddb/drugs/substance.rb +31 -0
  70. data/lib/oddb/drugs/substance_group.rb +13 -0
  71. data/lib/oddb/drugs/unit.rb +12 -0
  72. data/lib/oddb/export.rb +4 -0
  73. data/lib/oddb/export/csv.rb +94 -0
  74. data/lib/oddb/export/l10n_sessions.rb +30 -0
  75. data/lib/oddb/export/rss.rb +44 -0
  76. data/lib/oddb/export/server.rb +137 -0
  77. data/lib/oddb/export/xls.rb +127 -0
  78. data/lib/oddb/export/yaml.rb +212 -0
  79. data/lib/oddb/html/state/download.rb +13 -0
  80. data/lib/oddb/html/state/drugs/admin/package.rb +190 -0
  81. data/lib/oddb/html/state/drugs/admin/product.rb +56 -0
  82. data/lib/oddb/html/state/drugs/admin/sequence.rb +253 -0
  83. data/lib/oddb/html/state/drugs/ajax/explain_ddd_price.rb +19 -0
  84. data/lib/oddb/html/state/drugs/ajax/explain_price.rb +19 -0
  85. data/lib/oddb/html/state/drugs/ajax/global.rb +18 -0
  86. data/lib/oddb/html/state/drugs/ajax/package_infos.rb +19 -0
  87. data/lib/oddb/html/state/drugs/ajax/remote_infos.rb +19 -0
  88. data/lib/oddb/html/state/drugs/atc_browser.rb +39 -0
  89. data/lib/oddb/html/state/drugs/atc_guidelines.rb +21 -0
  90. data/lib/oddb/html/state/drugs/compare.rb +52 -0
  91. data/lib/oddb/html/state/drugs/download_export.rb +18 -0
  92. data/lib/oddb/html/state/drugs/downloads.rb +42 -0
  93. data/lib/oddb/html/state/drugs/fachinfo.rb +21 -0
  94. data/lib/oddb/html/state/drugs/feedback.rb +91 -0
  95. data/lib/oddb/html/state/drugs/global.rb +270 -0
  96. data/lib/oddb/html/state/drugs/init.rb +18 -0
  97. data/lib/oddb/html/state/drugs/login.rb +17 -0
  98. data/lib/oddb/html/state/drugs/package.rb +32 -0
  99. data/lib/oddb/html/state/drugs/patinfo.rb +21 -0
  100. data/lib/oddb/html/state/drugs/products.rb +51 -0
  101. data/lib/oddb/html/state/drugs/result.rb +125 -0
  102. data/lib/oddb/html/state/global.rb +206 -0
  103. data/lib/oddb/html/state/global_predefine.rb +17 -0
  104. data/lib/oddb/html/state/limit.rb +17 -0
  105. data/lib/oddb/html/state/login.rb +56 -0
  106. data/lib/oddb/html/state/paypal/checkout.rb +97 -0
  107. data/lib/oddb/html/state/paypal/collect.rb +19 -0
  108. data/lib/oddb/html/state/paypal/download.rb +61 -0
  109. data/lib/oddb/html/state/paypal/redirect.rb +18 -0
  110. data/lib/oddb/html/state/register_download.rb +24 -0
  111. data/lib/oddb/html/state/register_export.rb +38 -0
  112. data/lib/oddb/html/state/register_poweruser.rb +17 -0
  113. data/lib/oddb/html/state/viral/admin.rb +79 -0
  114. data/lib/oddb/html/state/viral/poweruser.rb +16 -0
  115. data/lib/oddb/html/util/annotated_list.rb +39 -0
  116. data/lib/oddb/html/util/know_it_all.rb +28 -0
  117. data/lib/oddb/html/util/known_user.rb +55 -0
  118. data/lib/oddb/html/util/lookandfeel.rb +698 -0
  119. data/lib/oddb/html/util/need_all_input.rb +29 -0
  120. data/lib/oddb/html/util/session.rb +84 -0
  121. data/lib/oddb/html/util/sort.rb +72 -0
  122. data/lib/oddb/html/util/unsaved_helper.rb +20 -0
  123. data/lib/oddb/html/util/validator.rb +59 -0
  124. data/lib/oddb/html/view/ajax/json.rb +22 -0
  125. data/lib/oddb/html/view/alpha_header.rb +28 -0
  126. data/lib/oddb/html/view/document.rb +117 -0
  127. data/lib/oddb/html/view/download.rb +33 -0
  128. data/lib/oddb/html/view/drugs/admin/package.rb +245 -0
  129. data/lib/oddb/html/view/drugs/admin/product.rb +104 -0
  130. data/lib/oddb/html/view/drugs/admin/sequence.rb +305 -0
  131. data/lib/oddb/html/view/drugs/ajax/explain_ddd_price.rb +87 -0
  132. data/lib/oddb/html/view/drugs/ajax/explain_price.rb +61 -0
  133. data/lib/oddb/html/view/drugs/ajax/package_infos.rb +105 -0
  134. data/lib/oddb/html/view/drugs/ajax/remote_infos.rb +44 -0
  135. data/lib/oddb/html/view/drugs/atc_browser.rb +68 -0
  136. data/lib/oddb/html/view/drugs/atc_guidelines.rb +94 -0
  137. data/lib/oddb/html/view/drugs/compare.rb +95 -0
  138. data/lib/oddb/html/view/drugs/download_export.rb +28 -0
  139. data/lib/oddb/html/view/drugs/downloads.rb +128 -0
  140. data/lib/oddb/html/view/drugs/fachinfo.rb +46 -0
  141. data/lib/oddb/html/view/drugs/feedback.rb +235 -0
  142. data/lib/oddb/html/view/drugs/init.rb +51 -0
  143. data/lib/oddb/html/view/drugs/legend.rb +24 -0
  144. data/lib/oddb/html/view/drugs/package.rb +403 -0
  145. data/lib/oddb/html/view/drugs/patinfo.rb +46 -0
  146. data/lib/oddb/html/view/drugs/products.rb +97 -0
  147. data/lib/oddb/html/view/drugs/result.rb +296 -0
  148. data/lib/oddb/html/view/drugs/search.rb +33 -0
  149. data/lib/oddb/html/view/drugs/template.rb +15 -0
  150. data/lib/oddb/html/view/foot.rb +52 -0
  151. data/lib/oddb/html/view/google.rb +23 -0
  152. data/lib/oddb/html/view/google_ads.rb +40 -0
  153. data/lib/oddb/html/view/head.rb +78 -0
  154. data/lib/oddb/html/view/limit.rb +109 -0
  155. data/lib/oddb/html/view/list.rb +59 -0
  156. data/lib/oddb/html/view/login.rb +38 -0
  157. data/lib/oddb/html/view/navigation.rb +67 -0
  158. data/lib/oddb/html/view/offset_header.rb +35 -0
  159. data/lib/oddb/html/view/paypal/collect.rb +95 -0
  160. data/lib/oddb/html/view/paypal/redirect.rb +51 -0
  161. data/lib/oddb/html/view/paypal/register_form.rb +149 -0
  162. data/lib/oddb/html/view/register_download.rb +29 -0
  163. data/lib/oddb/html/view/register_export.rb +29 -0
  164. data/lib/oddb/html/view/register_poweruser.rb +29 -0
  165. data/lib/oddb/html/view/rss/feedback.rb +64 -0
  166. data/lib/oddb/html/view/rss_preview.rb +61 -0
  167. data/lib/oddb/html/view/search.rb +104 -0
  168. data/lib/oddb/html/view/snapback.rb +24 -0
  169. data/lib/oddb/html/view/template.rb +56 -0
  170. data/lib/oddb/import/dimdi.rb +583 -0
  171. data/lib/oddb/import/excel.rb +45 -0
  172. data/lib/oddb/import/gkv.rb +463 -0
  173. data/lib/oddb/import/importer.rb +36 -0
  174. data/lib/oddb/import/pharma24.rb +211 -0
  175. data/lib/oddb/import/pharmnet.rb +1186 -0
  176. data/lib/oddb/import/rtf.rb +409 -0
  177. data/lib/oddb/import/whocc.rb +148 -0
  178. data/lib/oddb/import/xml.rb +15 -0
  179. data/lib/oddb/model.rb +179 -0
  180. data/lib/oddb/persistence.rb +22 -0
  181. data/lib/oddb/persistence/odba.rb +32 -0
  182. data/lib/oddb/persistence/odba/business/company.rb +13 -0
  183. data/lib/oddb/persistence/odba/business/grant_download.rb +14 -0
  184. data/lib/oddb/persistence/odba/business/invoice.rb +15 -0
  185. data/lib/oddb/persistence/odba/drugs/atc.rb +15 -0
  186. data/lib/oddb/persistence/odba/drugs/galenic_form.rb +18 -0
  187. data/lib/oddb/persistence/odba/drugs/galenic_group.rb +13 -0
  188. data/lib/oddb/persistence/odba/drugs/package.rb +25 -0
  189. data/lib/oddb/persistence/odba/drugs/product.rb +13 -0
  190. data/lib/oddb/persistence/odba/drugs/sequence.rb +21 -0
  191. data/lib/oddb/persistence/odba/drugs/substance.rb +21 -0
  192. data/lib/oddb/persistence/odba/drugs/substance_group.rb +13 -0
  193. data/lib/oddb/persistence/odba/drugs/unit.rb +13 -0
  194. data/lib/oddb/persistence/odba/export.rb +26 -0
  195. data/lib/oddb/persistence/odba/model.rb +68 -0
  196. data/lib/oddb/persistence/odba/text/document.rb +11 -0
  197. data/lib/oddb/persistence/odba/util/code.rb +11 -0
  198. data/lib/oddb/persistence/odba/util/m10l_document.rb +13 -0
  199. data/lib/oddb/persistence/og.rb +16 -0
  200. data/lib/oddb/persistence/og/drugs/composition.rb +14 -0
  201. data/lib/oddb/persistence/og/drugs/product.rb +14 -0
  202. data/lib/oddb/persistence/og/drugs/sequence.rb +15 -0
  203. data/lib/oddb/persistence/og/model.rb +25 -0
  204. data/lib/oddb/persistence/og/util/multilingual.rb +13 -0
  205. data/lib/oddb/redist/rtf_tools/reader.rb +139 -0
  206. data/lib/oddb/remote/business/company.rb +17 -0
  207. data/lib/oddb/remote/drugs/active_agent.rb +27 -0
  208. data/lib/oddb/remote/drugs/atc.rb +31 -0
  209. data/lib/oddb/remote/drugs/dose.rb +8 -0
  210. data/lib/oddb/remote/drugs/galenic_form.rb +24 -0
  211. data/lib/oddb/remote/drugs/package.rb +128 -0
  212. data/lib/oddb/remote/drugs/part.rb +30 -0
  213. data/lib/oddb/remote/drugs/substance.rb +20 -0
  214. data/lib/oddb/remote/drugs/unit.rb +20 -0
  215. data/lib/oddb/remote/object.rb +36 -0
  216. data/lib/oddb/text/chapter.rb +23 -0
  217. data/lib/oddb/text/document.rb +42 -0
  218. data/lib/oddb/text/format.rb +37 -0
  219. data/lib/oddb/text/paragraph.rb +53 -0
  220. data/lib/oddb/text/picture.rb +89 -0
  221. data/lib/oddb/text/table.rb +68 -0
  222. data/lib/oddb/util.rb +9 -0
  223. data/lib/oddb/util/annotated_list.rb +37 -0
  224. data/lib/oddb/util/code.rb +69 -0
  225. data/lib/oddb/util/comparison.rb +36 -0
  226. data/lib/oddb/util/download.rb +17 -0
  227. data/lib/oddb/util/exporter.rb +8 -0
  228. data/lib/oddb/util/feedback.rb +23 -0
  229. data/lib/oddb/util/ipn.rb +53 -0
  230. data/lib/oddb/util/job.rb +23 -0
  231. data/lib/oddb/util/logger.rb +20 -0
  232. data/lib/oddb/util/m10l_document.rb +41 -0
  233. data/lib/oddb/util/mail.rb +87 -0
  234. data/lib/oddb/util/money.rb +64 -0
  235. data/lib/oddb/util/multilingual.rb +70 -0
  236. data/lib/oddb/util/quanty.rb +3 -0
  237. data/lib/oddb/util/quanty/fact.rb +242 -0
  238. data/lib/oddb/util/quanty/main.rb +164 -0
  239. data/lib/oddb/util/quanty/parse.rb +872 -0
  240. data/lib/oddb/util/quanty/units.dump +0 -0
  241. data/lib/oddb/util/server.rb +150 -0
  242. data/lib/oddb/util/smtp_tls.rb +58 -0
  243. data/lib/oddb/util/updater.rb +161 -0
  244. data/lib/oddb/util/ydim.rb +110 -0
  245. data/lib/oddb/util/yus.rb +46 -0
  246. data/test/business/test_company.rb +29 -0
  247. data/test/business/test_grant_download.rb +29 -0
  248. data/test/drugs/test_active_agent.rb +53 -0
  249. data/test/drugs/test_atc.rb +54 -0
  250. data/test/drugs/test_composition.rb +88 -0
  251. data/test/drugs/test_ddd.rb +22 -0
  252. data/test/drugs/test_dose.rb +189 -0
  253. data/test/drugs/test_galenic_form.rb +41 -0
  254. data/test/drugs/test_package.rb +172 -0
  255. data/test/drugs/test_part.rb +32 -0
  256. data/test/drugs/test_product.rb +31 -0
  257. data/test/drugs/test_sequence.rb +140 -0
  258. data/test/drugs/test_substance.rb +51 -0
  259. data/test/drugs/test_substance_group.rb +27 -0
  260. data/test/export/test_rss.rb +86 -0
  261. data/test/export/test_server.rb +163 -0
  262. data/test/export/test_xls.rb +146 -0
  263. data/test/export/test_yaml.rb +120 -0
  264. data/test/import/data/csv/products.csv +11 -0
  265. data/test/import/data/html/dimdi_index.html +400 -0
  266. data/test/import/data/html/gkv/Befreiungsliste_Arzneimittel_Versicherte.gkvnet +508 -0
  267. data/test/import/data/html/pharma24/1337397.html +754 -0
  268. data/test/import/data/html/pharma24/842756.html +570 -0
  269. data/test/import/data/html/pharma24/ac-page-10.html +2999 -0
  270. data/test/import/data/html/pharma24/ac-page-11.html +2999 -0
  271. data/test/import/data/html/pharma24/ac-page-12.html +2999 -0
  272. data/test/import/data/html/pharma24/ac-page-13.html +2999 -0
  273. data/test/import/data/html/pharma24/ac-page-14.html +2999 -0
  274. data/test/import/data/html/pharma24/ac-page-15.html +3011 -0
  275. data/test/import/data/html/pharma24/ac-page-16.html +3050 -0
  276. data/test/import/data/html/pharma24/ac-page-17.html +3285 -0
  277. data/test/import/data/html/pharma24/ac-page-18.html +3109 -0
  278. data/test/import/data/html/pharma24/ac-page-19.html +3126 -0
  279. data/test/import/data/html/pharma24/ac-page-2.html +3005 -0
  280. data/test/import/data/html/pharma24/ac-page-20.html +3007 -0
  281. data/test/import/data/html/pharma24/ac-page-21.html +2999 -0
  282. data/test/import/data/html/pharma24/ac-page-22.html +2999 -0
  283. data/test/import/data/html/pharma24/ac-page-23.html +3055 -0
  284. data/test/import/data/html/pharma24/ac-page-24.html +2999 -0
  285. data/test/import/data/html/pharma24/ac-page-25.html +3004 -0
  286. data/test/import/data/html/pharma24/ac-page-26.html +2999 -0
  287. data/test/import/data/html/pharma24/ac-page-27.html +3167 -0
  288. data/test/import/data/html/pharma24/ac-page-28.html +3236 -0
  289. data/test/import/data/html/pharma24/ac-page-29.html +3110 -0
  290. data/test/import/data/html/pharma24/ac-page-3.html +2999 -0
  291. data/test/import/data/html/pharma24/ac-page-30.html +2999 -0
  292. data/test/import/data/html/pharma24/ac-page-31.html +2999 -0
  293. data/test/import/data/html/pharma24/ac-page-32.html +2999 -0
  294. data/test/import/data/html/pharma24/ac-page-33.html +3001 -0
  295. data/test/import/data/html/pharma24/ac-page-34.html +2999 -0
  296. data/test/import/data/html/pharma24/ac-page-35.html +2999 -0
  297. data/test/import/data/html/pharma24/ac-page-36.html +2999 -0
  298. data/test/import/data/html/pharma24/ac-page-37.html +2999 -0
  299. data/test/import/data/html/pharma24/ac-page-38.html +3003 -0
  300. data/test/import/data/html/pharma24/ac-page-39.html +2999 -0
  301. data/test/import/data/html/pharma24/ac-page-4.html +2999 -0
  302. data/test/import/data/html/pharma24/ac-page-40.html +2999 -0
  303. data/test/import/data/html/pharma24/ac-page-41.html +2999 -0
  304. data/test/import/data/html/pharma24/ac-page-42.html +2999 -0
  305. data/test/import/data/html/pharma24/ac-page-43.html +2999 -0
  306. data/test/import/data/html/pharma24/ac-page-44.html +2999 -0
  307. data/test/import/data/html/pharma24/ac-page-45.html +2999 -0
  308. data/test/import/data/html/pharma24/ac-page-46.html +2999 -0
  309. data/test/import/data/html/pharma24/ac-page-47.html +2999 -0
  310. data/test/import/data/html/pharma24/ac-page-48.html +2999 -0
  311. data/test/import/data/html/pharma24/ac-page-49.html +2999 -0
  312. data/test/import/data/html/pharma24/ac-page-5.html +3168 -0
  313. data/test/import/data/html/pharma24/ac-page-50.html +2999 -0
  314. data/test/import/data/html/pharma24/ac-page-51.html +2999 -0
  315. data/test/import/data/html/pharma24/ac-page-52.html +3003 -0
  316. data/test/import/data/html/pharma24/ac-page-53.html +2999 -0
  317. data/test/import/data/html/pharma24/ac-page-54.html +3095 -0
  318. data/test/import/data/html/pharma24/ac-page-55.html +3041 -0
  319. data/test/import/data/html/pharma24/ac-page-56.html +2999 -0
  320. data/test/import/data/html/pharma24/ac-page-57.html +3001 -0
  321. data/test/import/data/html/pharma24/ac-page-58.html +3001 -0
  322. data/test/import/data/html/pharma24/ac-page-59.html +2999 -0
  323. data/test/import/data/html/pharma24/ac-page-6.html +3072 -0
  324. data/test/import/data/html/pharma24/ac-page-60.html +3001 -0
  325. data/test/import/data/html/pharma24/ac-page-61.html +3005 -0
  326. data/test/import/data/html/pharma24/ac-page-62.html +2999 -0
  327. data/test/import/data/html/pharma24/ac-page-63.html +3007 -0
  328. data/test/import/data/html/pharma24/ac-page-64.html +3007 -0
  329. data/test/import/data/html/pharma24/ac-page-65.html +2999 -0
  330. data/test/import/data/html/pharma24/ac-page-66.html +3011 -0
  331. data/test/import/data/html/pharma24/ac-page-67.html +3026 -0
  332. data/test/import/data/html/pharma24/ac-page-68.html +2999 -0
  333. data/test/import/data/html/pharma24/ac-page-69.html +3010 -0
  334. data/test/import/data/html/pharma24/ac-page-7.html +2999 -0
  335. data/test/import/data/html/pharma24/ac-page-70.html +3192 -0
  336. data/test/import/data/html/pharma24/ac-page-71.html +3133 -0
  337. data/test/import/data/html/pharma24/ac-page-72.html +2999 -0
  338. data/test/import/data/html/pharma24/ac-page-73.html +3227 -0
  339. data/test/import/data/html/pharma24/ac-page-74.html +3241 -0
  340. data/test/import/data/html/pharma24/ac-page-75.html +3227 -0
  341. data/test/import/data/html/pharma24/ac-page-76.html +3244 -0
  342. data/test/import/data/html/pharma24/ac-page-77.html +1164 -0
  343. data/test/import/data/html/pharma24/ac-page-8.html +2999 -0
  344. data/test/import/data/html/pharma24/ac-page-9.html +2999 -0
  345. data/test/import/data/html/pharma24/ac.html +2999 -0
  346. data/test/import/data/html/pharmnet/display.html +662 -0
  347. data/test/import/data/html/pharmnet/display1.html +625 -0
  348. data/test/import/data/html/pharmnet/display2.html +625 -0
  349. data/test/import/data/html/pharmnet/display3.html +625 -0
  350. data/test/import/data/html/pharmnet/display_tramal.html +634 -0
  351. data/test/import/data/html/pharmnet/empty_result.html +395 -0
  352. data/test/import/data/html/pharmnet/gate.html +246 -0
  353. data/test/import/data/html/pharmnet/index.html +258 -0
  354. data/test/import/data/html/pharmnet/paged_result_1.html +401 -0
  355. data/test/import/data/html/pharmnet/paged_result_2.html +401 -0
  356. data/test/import/data/html/pharmnet/result.html +401 -0
  357. data/test/import/data/html/pharmnet/search.html +865 -0
  358. data/test/import/data/html/pharmnet/search_filtered.html +182 -0
  359. data/test/import/data/html/whocc/A.html +56 -0
  360. data/test/import/data/html/whocc/A03.html +48 -0
  361. data/test/import/data/html/whocc/A03AB.html +48 -0
  362. data/test/import/data/html/whocc/A06AA.html +47 -0
  363. data/test/import/data/html/whocc/C03.html +47 -0
  364. data/test/import/data/html/whocc/login.html +77 -0
  365. data/test/import/data/mail/csv.mail +81 -0
  366. data/test/import/data/rtf/pharmnet/aarane.pi.rtf +648 -0
  367. data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.pi.rtf +324 -0
  368. data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.rtf +4816 -0
  369. data/test/import/data/rtf/pharmnet/acemetacin.pi.rtf +388 -0
  370. data/test/import/data/rtf/pharmnet/acemit.pi.rtf +240 -0
  371. data/test/import/data/rtf/pharmnet/acerbon.pi.rtf +1257 -0
  372. data/test/import/data/rtf/pharmnet/acetylcystein.pi.rtf +323 -0
  373. data/test/import/data/rtf/pharmnet/aciclo.pi.rtf +287 -0
  374. data/test/import/data/rtf/pharmnet/aciclovir.pi.rtf +236 -0
  375. data/test/import/data/rtf/pharmnet/actrapid.pi.rtf +322 -0
  376. data/test/import/data/rtf/pharmnet/amlodipin.pi.rtf +452 -0
  377. data/test/import/data/rtf/pharmnet/amlodipin.rtf +473 -0
  378. data/test/import/data/rtf/pharmnet/aspirin.pi.rtf +313 -0
  379. data/test/import/data/rtf/pharmnet/aspirin.rtf +781 -0
  380. data/test/import/data/rtf/pharmnet/baymycard.pi.rtf +447 -0
  381. data/test/import/data/rtf/pharmnet/omeprazol.pi.rtf +510 -0
  382. data/test/import/data/rtf/pharmnet/omeprazol.rtf +9216 -0
  383. data/test/import/data/rtf/pharmnet/paroxetin.pi.rtf +678 -0
  384. data/test/import/data/rtf/pharmnet/selegilin.pi.rtf +312 -0
  385. data/test/import/data/rtf/pharmnet/selegilin.rtf +683 -0
  386. data/test/import/data/rtf/pharmnet/valium.pi.rtf +387 -0
  387. data/test/import/data/txt/gkv/gkv_p1.txt +17 -0
  388. data/test/import/data/xls/darform_010706.xls +0 -0
  389. data/test/import/data/xls/fb010706.xls +0 -0
  390. data/test/import/data/xls/liste_zuzahlungsbefreite_arzneimittel_suchfunktion.xls +0 -0
  391. data/test/import/data/xls/wirkkurz_010406.xls +0 -0
  392. data/test/import/data/xml/ATC_2006.xml +47 -0
  393. data/test/import/data/xml/ATC_2006_ddd.xml +35 -0
  394. data/test/import/test_dimdi.rb +323 -0
  395. data/test/import/test_excel.rb +31 -0
  396. data/test/import/test_gkv.rb +260 -0
  397. data/test/import/test_pharma24.rb +112 -0
  398. data/test/import/test_pharmnet.rb +980 -0
  399. data/test/import/test_rtf.rb +37 -0
  400. data/test/import/test_whocc.rb +314 -0
  401. data/test/remote/drugs/test_active_agent.rb +36 -0
  402. data/test/selenium/selenium-server.jar +0 -0
  403. data/test/selenium/test_atc_browser.rb +121 -0
  404. data/test/selenium/test_atc_guidelines.rb +95 -0
  405. data/test/selenium/test_collect.rb +137 -0
  406. data/test/selenium/test_compare.rb +294 -0
  407. data/test/selenium/test_fachinfo.rb +128 -0
  408. data/test/selenium/test_feedback.rb +192 -0
  409. data/test/selenium/test_init.rb +64 -0
  410. data/test/selenium/test_limit.rb +304 -0
  411. data/test/selenium/test_login.rb +67 -0
  412. data/test/selenium/test_package.rb +516 -0
  413. data/test/selenium/test_patinfo.rb +128 -0
  414. data/test/selenium/test_product.rb +80 -0
  415. data/test/selenium/test_products.rb +141 -0
  416. data/test/selenium/test_search.rb +933 -0
  417. data/test/selenium/test_sequence.rb +513 -0
  418. data/test/selenium/unit.rb +190 -0
  419. data/test/stub/http_server.rb +144 -0
  420. data/test/stub/model.rb +173 -0
  421. data/test/suite.rb +15 -0
  422. data/test/test_model.rb +83 -0
  423. data/test/util/test_code.rb +74 -0
  424. data/test/util/test_ipn.rb +117 -0
  425. data/test/util/test_mail.rb +85 -0
  426. data/test/util/test_multilingual.rb +97 -0
  427. data/test/util/test_server.rb +94 -0
  428. data/test/util/test_updater.rb +130 -0
  429. data/test/util/test_ydim.rb +115 -0
  430. data/test/util/test_yus.rb +79 -0
  431. metadata +568 -0
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::State::Viral::PowerUser -- de.oddb.org -- 23.01.2008 -- hwyss@ywesee.com
3
+
4
+ require 'sbsm/viralstate'
5
+
6
+ module ODDB
7
+ module Html
8
+ module State
9
+ module Viral
10
+ module PowerUser
11
+ include SBSM::ViralState
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::AnnotatedList -- de.oddb.org -- 06.12.2006 -- hwyss@ywesee.com
3
+
4
+ module ODDB
5
+ module Html
6
+ module Util
7
+ class AnnotatedList < Array
8
+ def initialize(annotations = {})
9
+ if(annotations.is_a?(Hash))
10
+ super()
11
+ @annotations = annotations
12
+ else
13
+ super
14
+ @annotations = {}
15
+ end
16
+ end
17
+ def sort_by(*args, &block)
18
+ _delegate(super(*args, &block))
19
+ end
20
+ def [](*args, &block)
21
+ _delegate(super(*args, &block))
22
+ end
23
+ def method_missing(key, *args)
24
+ mname = key.id2name
25
+ if(args.size == 1 && /=$/.match(mname))
26
+ mname.chop!
27
+ @annotations[mname.to_sym] = args.first
28
+ else
29
+ @annotations[key]
30
+ end
31
+ end
32
+ private
33
+ def _delegate(content)
34
+ self.dup.clear.concat(content)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+ # KnowItAll -- de.oddb.org -- 15.01.2009 -- hwyss@ywesee.com
3
+
4
+ module ODDB
5
+ module Html
6
+ module Util
7
+ class KnowItAll
8
+ def initialize delegate, values={}
9
+ @delegate = delegate
10
+ @values = values
11
+ end
12
+ def is_a? mod
13
+ @delegate.is_a?(mod) || super
14
+ end
15
+ def method_missing name, *args, &block
16
+ if @delegate.respond_to? name
17
+ @delegate.send name, *args, &block
18
+ else
19
+ @values[name]
20
+ end
21
+ end
22
+ def respond_to? name
23
+ @delegate.respond_to?(name) || @values.include?(name)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::KnownUser -- de.oddb.org -- 29.10.2007 -- hwyss@ywesee.com
3
+
4
+ require 'sbsm/user'
5
+ require 'iconv'
6
+
7
+ module ODDB
8
+ module Html
9
+ module Util
10
+ class KnownUser < SBSM::User
11
+ attr_reader :auth_session
12
+ PREFERENCE_KEYS = [ :address, :city, :name_first, :name_last, :plz,
13
+ :salutation, ]
14
+ PREFERENCE_KEYS.each { |key|
15
+ define_method(key) {
16
+ remote_call(:get_preference, key)
17
+ }
18
+ }
19
+ @@iconv = Iconv.new('utf8', 'latin1')
20
+ def initialize(session)
21
+ @auth_session = session
22
+ end
23
+ def allowed?(action, key=nil)
24
+ allowed = remote_call(:allowed?, action, key)
25
+ ODDB.logger.debug('User') {
26
+ sprintf('%s: allowed?(%s, %s) -> %s', name, action, key, allowed)
27
+ }
28
+ allowed
29
+ end
30
+ def entity_valid?(email)
31
+ !!(allowed?('edit', 'yus.entities') \
32
+ && (entity = remote_call(:find_entity, email)) && entity.valid?)
33
+ end
34
+ def email
35
+ remote_call :name
36
+ end
37
+ def navigation
38
+ [ :logout ]
39
+ end
40
+ def remote_call(method, *args, &block)
41
+ res = @auth_session.send(method, *args, &block)
42
+ case res
43
+ when String
44
+ @@iconv.iconv res rescue res
45
+ else
46
+ res
47
+ end
48
+ rescue RangeError, DRb::DRbError => e
49
+ ODDB.logger.error('auth') { e }
50
+ end
51
+ alias :method_missing :remote_call
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,698 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::Lookandfeel -- de.oddb.org -- 27.10.2006 -- hwyss@ywesee.com
3
+
4
+ require 'oddb/currency'
5
+ require 'sbsm/lookandfeel'
6
+ require 'sbsm/lookandfeelfactory'
7
+ require 'sbsm/lookandfeelwrapper'
8
+ require 'turing'
9
+ require 'fileutils'
10
+
11
+ module ODDB
12
+ module Html
13
+ module Util
14
+ class Lookandfeel < SBSM::Lookandfeel
15
+ @@turing_files = {}
16
+ @@turing_finalizer = proc { |id|
17
+ if file = @@turing_files.delete(id)
18
+ path = File.join(ODDB.config.var, 'captcha', file)
19
+ File.delete(path) if File.exist?(path)
20
+ end
21
+ }
22
+ Thread.new {
23
+ FileUtils.rm Dir.glob(File.join(ODDB.config.var, 'captcha', '*'))
24
+ }
25
+ DICTIONARIES = {
26
+ "de" => {
27
+ :active_agents0 => '',
28
+ :active_agents1 => ' Wirkstoffe',
29
+ :address => 'Strasse/Nr.',
30
+ :administration => 'Verabreichungsform',
31
+ :administration_O => 'Oral',
32
+ :administration_P => 'Parenteral',
33
+ :administration_R => 'Rektal',
34
+ :atc => 'ATC-Code',
35
+ :atc_assign => 'ATC zuweisen',
36
+ :atc_browser => 'ATC-Browser',
37
+ :atc_name => 'ATC-Name',
38
+ :atc_unknown => 'ATC-Code nicht bekannt',
39
+ :ba_doctor => 'Arzt',
40
+ :ba_health => 'Gesundheitsdienstleister',
41
+ :ba_hospital => 'Spital',
42
+ :ba_info => 'Medi-Information',
43
+ :ba_insurance => 'Krankenkasse',
44
+ :ba_pharma => 'Pharmaunternehmen',
45
+ :breadcrumb_divider => '&nbsp;&ndash;&nbsp;',
46
+ :business_area => 'Geschäftsbereich',
47
+ :captcha => 'Was steht im Bild unten?',
48
+ :chapter_active_agents => 'Wirkstoffe',
49
+ :chapter_additional_information => 'Zusätzliche Angaben',
50
+ :chapter_application => 'Anwendung',
51
+ :chapter_bioavailability => 'Bioverfügbarkeit',
52
+ :chapter_clinical => 'Klinische Angaben',
53
+ :chapter_company => 'Zulassungsinhaber',
54
+ :chapter_composition => 'Zusammensetzung',
55
+ :chapter_counterindications => 'Gegenanzeigen',
56
+ :chapter_date => 'Stand der Information',
57
+ :chapter_default => 'Einleitung',
58
+ :chapter_disposal => 'Beseitigung',
59
+ :chapter_dosage => 'Dosierung',
60
+ :chapter_driving_ability => 'Verkehrstüchtigkeit',
61
+ :chapter_emergency => 'Verhalten im Notfall',
62
+ :chapter_excipients => 'Sonstige Bestandteile',
63
+ :chapter_fachinfo => 'Vollständige Fachinformation',
64
+ :chapter_galenic_form => 'Darreichungsform',
65
+ :chapter_incompatibilities => 'Inkompabilitäten',
66
+ :chapter_indications => 'Anwendungsgebiete',
67
+ :chapter_interactions => 'Wechselwirkungen',
68
+ :chapter_name => 'Bezeichnung',
69
+ :chapter_overdose => 'Überdosierung',
70
+ :chapter_other_advice => 'Sonstige Hinweise',
71
+ :chapter_packaging => 'Handelsformen',
72
+ :chapter_patinfo => 'Vollständige Gebrauchsinformation',
73
+ :chapter_personal => 'Zusammenfassung',
74
+ :chapter_pharmaceutic => 'Pharmazeutische Angaben',
75
+ :chapter_pharmacodynamics => 'Pharmakodynamik',
76
+ :chapter_pharmacokinetics => 'Pharmakokinetik',
77
+ :chapter_pharmacology => 'Pharmakologie',
78
+ :chapter_precautions => 'Vorsichtsmassnahmen',
79
+ :chapter_preclinicals => 'Präklinische Daten',
80
+ :chapter_pregnancy => 'Schwangerschaft / Stillzeit',
81
+ :chapter_producer => 'Hersteller',
82
+ :chapter_registration => 'Zulassungsnummern',
83
+ :chapter_registration_date => 'Zulassungsdatum',
84
+ :chapter_sale_limitation => 'Verkaufsabgrenzung',
85
+ :chapter_shelf_life => 'Haltbarkeit',
86
+ :chapter_storage => 'Aufbewahrung',
87
+ :chapter_substance_group => 'Stoffgruppe',
88
+ :chapter_toxicology => 'Toxikologie',
89
+ :chapter_unwanted_effects => 'Nebenwirkungen',
90
+ :checkout => 'Bezahlen',
91
+ :company_name => 'Firmenname',
92
+ :choose_range => 'Bitte wählen Sie den anzuzeigenden Bereich',
93
+ :ch_sl => 'SL',
94
+ :ch_sl_entry => 'Spezialitätenliste',
95
+ :ch_ikscat => 'Abgabekategorie',
96
+ :ch_ikscat_A => 'Einmalige Abgabe auf ärztliche Verschreibung',
97
+ :ch_ikscat_B => 'Abgabe auf ärztliche Verschreibung',
98
+ :ch_ikscat_C => 'Abgabe nach Fachberatung durch Medizinalpersonen',
99
+ :ch_ikscat_D => 'Abgabe nach Fachberatung',
100
+ :ch_ikscat_E => 'Abgabe ohne Fachberatung',
101
+ :city => 'Ort',
102
+ :code_cid => 'Pharmazentralnummer',
103
+ :code_festbetragsgruppe => 'Festbetragsgruppe',
104
+ :code_festbetragsstufe => 'Festbetragsstufe',
105
+ :code_prescription => 'Rezeptpflichtig',
106
+ :code_registration => 'EU-Zulassungsnummer / AMD-Reg.-Nummer',
107
+ :code_zuzahlungsbefreit => 'Zuzahlungsbefreit',
108
+ :comment => 'Anmerkung',
109
+ :company => 'Zulassungsinhaber',
110
+ :compare => 'Preisvergleich',
111
+ :compare_remote => 'Preisvergleich',
112
+ :comparison_for0 => 'Preisvergleich für ',
113
+ :comparison_for1 => '',
114
+ :compositions => 'Bestandteile',
115
+ :compr_gz => 'GZ',
116
+ :compr_zip => 'ZIP',
117
+ :compression_label => 'Gewünschte Komprimierung',
118
+ :confirm_pass => 'Bestätigung',
119
+ :contact => 'Kontakt',
120
+ :contact_url => 'http://wiki.oddb.org/wiki.php/ODDB/Kontakt',
121
+ :create_active_agent => 'Wirkstoff hinzufügen',
122
+ :create_composition => 'Bestandteil hinzufügen',
123
+ :download_description => 'Datenbeschrieb',
124
+ :download_example => 'Beispiel-Download',
125
+ :"download_howto_compendium_de.oddb.org.firefox.epub" => 'Installation Firefox',
126
+ :"download_howto_url_compendium_de.oddb.org.firefox.epub" => 'http://www.ywesee.com/pmwiki.php/Main/EPUB',
127
+ :"download_howto_compendium_de.oddb.org.htc.prc" => 'Installation HTC',
128
+ :"download_howto_url_compendium_de.oddb.org.htc.prc" => 'http://www.ywesee.com/pmwiki.php/Ywesee/HTC',
129
+ :"download_howto_compendium_de.oddb.org.kindle.mobi" => 'Installation Kindle',
130
+ :"download_howto_url_compendium_de.oddb.org.kindle.mobi" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Kindle',
131
+ :"download_howto_compendium_de.oddb.org.stanza.epub" => 'Installation Stanza',
132
+ :"download_howto_url_compendium_de.oddb.org.stanza.epub" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Stanza',
133
+ :"download_howto_patinfos_de.oddb.org.firefox.epub" => 'Installation Firefox',
134
+ :"download_howto_url_patinfos_de.oddb.org.firefox.epub" => 'http://www.ywesee.com/pmwiki.php/Main/EPUB',
135
+ :"download_howto_patinfos_de.oddb.org.htc.prc" => 'Installation HTC',
136
+ :"download_howto_url_patinfos_de.oddb.org.htc.prc" => 'http://www.ywesee.com/pmwiki.php/Ywesee/HTC',
137
+ :"download_howto_patinfos_de.oddb.org.kindle.mobi" => 'Installation Kindle',
138
+ :"download_howto_url_patinfos_de.oddb.org.kindle.mobi" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Kindle',
139
+ :"download_howto_patinfos_de.oddb.org.stanza.epub" => 'Installation Stanza',
140
+ :"download_howto_url_patinfos_de.oddb.org.stanza.epub" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Stanza',
141
+ :days => 'Tage',
142
+ :days0 => '',
143
+ :days1 => ' Tage',
144
+ :days_genitive0 => '',
145
+ :days_genitive1 => ' Tagen',
146
+ :days_one_genitive => 'einem Tag',
147
+ :ddd => 'Tagesdosis',
148
+ :ddd_price_calculation => 'Berechnung',
149
+ :ddd_price_calculation0 => '( ',
150
+ :ddd_price_calculation1 => ' / ',
151
+ :ddd_price_calculation2 => ' ) x ( ',
152
+ :ddd_price_calculation3 => ' / ',
153
+ :ddd_price_calculation4 => ' ) = <b>EUR ',
154
+ :ddd_price_calculation5 => ' / Tag </b>',
155
+ :delete => 'Löschen',
156
+ :delete_composition => 'Bestandteil löschen',
157
+ :delete_package_confirm => 'Wollen Sie diese Packung wirklich löschen?',
158
+ :delete_sequence_confirm => 'Wollen Sie diese Sequenz wirklich löschen?',
159
+ :display_grouped => 'Zur ATC-Übersicht',
160
+ :display_paged => 'Alle Präparate anzeigen',
161
+ :download => 'Download-Registrierung',
162
+ :download_descr => 'Der Download der Stammdaten ist kostenpflichtig. Bitte geben Sie Ihre Kontakt-Daten an und gehen Sie dann weiter zum Checkout.',
163
+ :download_export_mail_body => 'Die Bezahlung für Ihren CSV-Export konnte erfolgreich abgewickelt werden.',
164
+ :download_export_mail_instr => 'Sie können die Daten mit dem folgenden Link abrufen:',
165
+ :download_mail_body => 'Die Bezahlung für Ihren Download konnte erfolgreich abgewickelt werden.',
166
+ :download_mail_instr => 'Sie können die Daten mit den folgenden Links abrufen:',
167
+ :download_info => 'Mehr Infos zu den Stammdaten von de.ODDB.org',
168
+ :downloads => 'Stammdaten Download',
169
+ :dose => 'Stärke',
170
+ :drugs => 'Medikamente',
171
+ :drugs_atc_codes => "ATC-Codes, DDD's:",
172
+ :drugs_copay_free => 'Zuzahlungsbefreite Arzneimittel:',
173
+ :drugs_fixprices => 'Arzneimittelfestbeträge:',
174
+ :dstype => 'Art der Suche:',
175
+ :ean0 => 'EAN-13: ',
176
+ :ean1 => '',
177
+ :e_duplicate_pzn0 => 'Die Pharmazentralnummer ',
178
+ :e_duplicate_pzn1 => ' ist bereits vergeben.',
179
+ :e_duplicate_registration0 => 'Die EU-Registrationsnummer ',
180
+ :e_duplicate_registration1 => ' ist bereits vergeben.',
181
+ :e_failed_turing_test => 'Ihre Eingabe stimmt nicht mit dem Bild überein. Bitte versuchen Sie es noch einmal.',
182
+ :e_missing_atc => 'Bitte geben Sie einen gültigen ATC-Code an.',
183
+ :e_unknown_atc0 => 'Der ATC-Code "',
184
+ :e_unknown_atc1 => '" ist nicht bekannt.',
185
+ :e_missing_downloads => 'Bitte wählen Sie mindestens ein File zum Download aus.',
186
+ :e_unknown_galenic_form0 => 'Die Galenische Form "',
187
+ :e_unknown_galenic_form1 => '" ist nicht bekannt.',
188
+ :e_unknown_substance0 => 'Die Substanz "',
189
+ :e_unknown_substance1 => '" ist nicht bekannt.',
190
+ :e_need_all_input => 'Bitte füllen Sie alle Felder aus.',
191
+ :e_query_short => 'Ihr Such-Stichwort ergibt ein sehr grosses Resultat. Bitte verwenden Sie mindestens 3 Buchstaben.',
192
+ :e_missing_days => 'Bitte wählen Sie eine Zeitdauer.',
193
+ :e_missing_code_cid => 'Bitte geben Sie eine Pharmazentralnummer an.',
194
+ :e_missing_company => 'Bitte geben Sie einen Zulassungsinhaber an.',
195
+ :e_missing_email => 'Bitte geben Sie eine gültige E-Mail-Adresse an.',
196
+ :e_missing_name => 'Bitte geben Sie einen Namen an.',
197
+ :e_state_expired => 'Die Seite ist nicht mehr gültig.',
198
+ :e_unknown_company0 => 'Der Zulassungsinhaber "',
199
+ :e_unknown_company1 => '" ist nicht bekannt.',
200
+ :email => 'E-Mail',
201
+ :email_not_public => 'E-Mail wird nicht angezeigt.',
202
+ :email_public => 'E-Mail anzeigen',
203
+ :email_public_false => 'Ich will anonym bleiben.',
204
+ :email_public_true => 'Ich bin bereit, meine Erfahrungen mit diesem Medikament mit anderen Leuten auszutauschen. Meine Mail-Adresse muss nicht anonym bleiben.',
205
+ :empty_comparison => <<-EOS,
206
+ In unserer Datenbank wurden leider keine Produkte gefunden,
207
+ die mit diesem Produkt verglichen werden können.
208
+ EOS
209
+ #
210
+ :empty_packages => <<-EOS,
211
+ Ihr Such-Stichwort hat zu keinem Suchergebnis geführt. Bitte
212
+ überprüfen Sie die Schreibweise und versuchen Sie es noch
213
+ einmal.
214
+ EOS
215
+ :equivalence_factor => 'Wirkstärkenäquivalenzfaktor (waef)',
216
+ :explain_compare => 'Für einen Preisvergleich klicken Sie bitte auf den Medikamentennamen; zum Umsortieren auf den Tabellentitel.',
217
+ :explain_currency_convert => 'Wechselkurs (1 EUR in CHF)',
218
+ :explain_remote => 'Rot = CH - Produkte',
219
+ :explain_zuzahlungsbefreit => 'Gelb = Zuzahlungsbefreit',
220
+ :explain_search => <<-EOS,
221
+ Vergleichen Sie einfach und schnell Medikamentenpreise.
222
+ Suchen Sie nach Medikamentname oder Wirkstoff.
223
+ EOS
224
+ :export => 'CSV-Export Datenerfassung',
225
+ :export_csv => 'Resultat als CSV Exportieren',
226
+ :export_descr => 'Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.',
227
+ :fachinfo => 'Fachinformation',
228
+ :feedback => 'Feedback',
229
+ :feedback_alt0 => 'Feedback zu ',
230
+ :feedback_alt1 => '',
231
+ :feedback_changed => 'Vielen Dank! Ihr Feedback wurde geändert. Sie können noch weitere Änderungen vornehmen.',
232
+ :feedback_for0 => 'Feedback zu ',
233
+ :feedback_for1 => ' in der Handelsform: ',
234
+ :feedback_for2 => '',
235
+ :feedback_for_sequence0 => 'Feedback zu ',
236
+ :feedback_for_sequence1 => '',
237
+ :feedback_by0 => 'Feedback von ',
238
+ :feedback_by1 => '<br/>erstellt am: ',
239
+ :feedback_by2 => '',
240
+ :feedback_feed_description => 'Patienten- und Ärztefeedback zu Medikamenten im Schweizer Gesundheitsmarkt',
241
+ :feedback_feed_title => 'Patienten- und Ärztefeedback zu Medikamenten',
242
+ :feedback_message => 'Meine Erfahrung / Meine persönliche Meinung zu diesem Medikament ist: (max. 400 Zeichen)',
243
+ :feedback_preview0 => '',
244
+ :feedback_preview1 => ' in der Handelsform: ',
245
+ :feedback_preview2 => '',
246
+ :feedback_saved => 'Vielen Dank! Ihr Feedback wurde gespeichert. Sie können jetzt noch Änderungen vornehmen.',
247
+ :feedback_short => 'FB',
248
+ :festbetragsstufe => ' (Gesetzestext)',
249
+ :festbetragsstufe_url => 'http://www.sozialgesetzbuch-bundessozialhilfegesetz.de/buch/sgbv/35.html',
250
+ :festbetragsstufe_1 => 'Arzneimittel mit denselben Wirkstoffen',
251
+ :festbetragsstufe_2 => 'Arzneimittel mit pharmakologisch-therapeutisch vergleichbaren Wirkstoffen, insbesondere mit chemisch verwandten Stoffen',
252
+ :festbetragsstufe_3 => 'Arzneimittel mit therapeutisch vergleichbarer Wirkung, insbesondere Arzneimittelkombinationen',
253
+ :fachinfo_url => 'URL zur Fachinformation',
254
+ :galenic_form => 'Galenische Form',
255
+ :google => 'G',
256
+ :google0 => 'Google-Suche nach ',
257
+ :google1 => '',
258
+ :home => 'Home',
259
+ :html_title => 'DE - ODDB.org',
260
+ :html_owner => 'Open Drug Database',
261
+ :indication => 'Indikation',
262
+ :item_good_experience => 'Persönliche Erfahrung',
263
+ :item_good_experience_true => 'Ich habe mit diesem Medikament positive Erfahrungen gemacht.',
264
+ :item_good_experience_false => 'Ich habe mit diesem Medikament negative Erfahrungen gemacht.',
265
+ :item_good_impression => 'Persönlicher Eindruck',
266
+ :item_good_impression_true => 'Dieses Medikament hat einen guten Eindruck auf mich gemacht.',
267
+ :item_good_impression_false => 'Dieses Medikament hat keinen guten Eindruck auf mich gemacht.',
268
+ :item_helps => 'Wirkung',
269
+ :item_helps_true => 'Dieses Medikament hat mir geholfen.',
270
+ :item_helps_false => 'Dieses Medikament hat mir nicht geholfen.',
271
+ :item_recommended => 'Empfehlung',
272
+ :item_recommended_true => 'Ich werde dieses Medikament weiterempfehlen.',
273
+ :item_recommended_false => 'Ich werde dieses Medikament nicht weiterempfehlen.',
274
+ :lgpl_license => 'LGPL',
275
+ :login => 'Anmelden',
276
+ :login_ => 'Anmelden',
277
+ :logout => 'Abmelden',
278
+ :logo => 'de.oddb.org - peer reviewed open drug database',
279
+ :minus => '-',
280
+ :more => '+',
281
+ :name => 'Name',
282
+ :name_first => 'Vorname',
283
+ :name_last => 'Nachname',
284
+ :new_package => 'Neue Packung',
285
+ :new_sequence => 'Neue Sequenz',
286
+ :no => 'Nein',
287
+ :no_active_agents => 'Wirkstoffe unbekannt',
288
+ :oddb_ch => 'Schweiz',
289
+ :oddb_chde => 'Deutschland - Schweiz',
290
+ :oddb_de => 'Deutschland',
291
+ :oddb_version => 'Commit-ID',
292
+ :package => 'Details',
293
+ :packages => 'Präparate',
294
+ :packages_admin => 'Packungen',
295
+ :package_and_substances => 'Packungsgrösse und Wirkstoffe',
296
+ :package_details_for0 => 'Packungsdetails für "',
297
+ :package_details_for1 => '"',
298
+ :pager0 => 'Seite ',
299
+ :pager1 => ' von ',
300
+ :pager2 => ':',
301
+ :parts => 'Teilpackungen',
302
+ :pass => 'Passwort',
303
+ :patinfo => 'Gebrauchsinformation',
304
+ :paypal_completed => 'Bezahlung erfolgreich übermittelt',
305
+ :paypal_e_expired0 => '',
306
+ :paypal_e_expired1 => ': die Gültigkeitsdauer ist abgelaufen (',
307
+ :paypal_e_expired2 => ')',
308
+ :paypal_e_invalid_time => 'Ungültige Zeitangabe',
309
+ :paypal_e_missing_invoice => 'Ihre Transaktion ist bei uns nicht registriert. Setzen Sie sich bitte per <a href="mailto:zdavatz@ywesee.com">E-Mail</a> mit uns in Verbindung.',
310
+ :paypal_explain_login0 => 'Ihr PowerUser-Account ist bereit. Bitte melden Sie sich',
311
+ :paypal_explain_login1 => ' hier ',
312
+ :paypal_explain_login2 => 'erneut mit E-Mail und Passwort an.',
313
+ :paypal_explain_poweruser => 'Sie sind bereits angemeldet und können sofort weitersuchen.',
314
+ :paypal_msg_succ_p => 'Vielen Dank! Sie können jetzt mit den untigen Links die Daten downloaden. Diese Links wurden Ihnen auch in einem E-Mail zugestellt.',
315
+ :paypal_msg_succ_download => 'Vielen Dank! Sie können jetzt mit dem untigen Link die Daten downloaden. Dieser Link wurden Ihnen auch in einem E-Mail zugestellt.',
316
+ :paypal_msg_succ_poweruser => 'Vielen Dank! Als angemeldeter Benutzer können Sie jetzt ohne Beschränkung Abfragen vornehmen.',
317
+ :paypal_msg_unconfirmed => 'Ihre Bezahlung ist von PayPal noch nicht bestätigt worden. Sobald dies geschieht werden wir Sie per E-Mail benachrichtigen.',
318
+ :paypal_failed => 'Fehler',
319
+ :patinfo_url => 'URL zur Gebrauchsinformation',
320
+ :phone => 'Telefon',
321
+ :plus => '+',
322
+ :postal_code => 'PLZ',
323
+ :poweruser => 'Power-User Datenerfassung',
324
+ :poweruser_descr => 'Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.',
325
+
326
+
327
+ :poweruser_mail_body => 'Die Bezahlung für Ihren Power-User-Account konnte erfolgreich abgewickelt werden.',
328
+ :poweruser_mail_instr0 => 'Um während ',
329
+ :poweruser_mail_instr1 => ' uneingeschränkt Abfragen tätigen zu können, melden sie sich bitte unter ',
330
+ :poweruser_mail_instr2 => ' an.',
331
+ :poweruser_mail_salut0 => 'Guten Tag ',
332
+ :poweruser_mail_salut1 => ' ',
333
+ :poweruser_mail_salut2 => '',
334
+
335
+
336
+
337
+ :poweruser_mail_subject => 'Power-User bei ODDB.org',
338
+ :prescription_free => 'O',
339
+ :prescription_needed => 'R',
340
+ :price_difference => 'Abweichung vom Festbetrag',
341
+ :price_exfactory => 'Fabrikabgabepreis',
342
+ :price_festbetrag => 'Festbetrag',
343
+ :price_public => 'Apothekenverkaufspreis',
344
+ :price_zuzahlung => 'Zuzahlung/Selbstbeteiligung',
345
+ :proceed_download => 'Weiter zur Adresseingabe',
346
+ :proceed_export => 'CSV-Export',
347
+ :proceed_poweruser => 'Weiter',
348
+ :product => 'Produkt',
349
+ :product_details_for0 => 'Produktdetails für "',
350
+ :product_details_for1 => '"',
351
+ :products => 'Arzneimittel A-Z',
352
+ :pzn0 => 'Pharmazentralnummer: ',
353
+ :pzn1 => '',
354
+ :query_info => 'Bitte HIER Such-Stichwort eingeben',
355
+ :query_limit0 => 'Abfragebeschränkung auf ',
356
+ :query_limit1 => ' Abfragen pro Tag.',
357
+ :query_limit_login => 'B) Falls Sie bereits als Benutzer registriert sind, geben Sie Ihr E-Mail und Passwort an um zur gewünschten Ansicht zu gelangen:',
358
+ :query_limit_more_info => 'Mehr Informationen',
359
+ :query_limit_new_user => 'A) Falls Sie noch nicht als Benutzer registriert sind, lesen Sie bitte folgendes: ',
360
+ :query_limit_explain0 => 'de.ODDB.org misst die Anzahl Abfragen von einer IP-Adresse. Bei Ihrer IP-Adresse &lt;',
361
+ :query_limit_explain1 => '&gt; haben wir innerhalb eines Tages mehr als ',
362
+ :query_limit_explain2 => ' Abfragen gemessen.<br/>Gerne möchten wir Ihnen folgende Möglichkeiten anbieten, direkter und schneller zu Ihrer gewünschten Dienstleistung zu gelangen.',
363
+ :query_limit_poweruser_1 => 'Tages-User',
364
+ :query_limit_poweruser_30 => 'Durchschnitts-User',
365
+ :query_limit_poweruser_365 => 'Power-User',
366
+ :query_limit_poweruser_a0 => ' Lösen Sie ein <b>jährliches Abo</b> für <b>EUR ',
367
+ :query_limit_poweruser_a1 => '</b>. Mit diesem Abo können Sie de.ODDB.org für ein Jahr uneingeschränkt verwenden. Die Gebühr gilt pro Benutzer.',
368
+ :query_limit_poweruser_b0 => ' Sie machen mehr als ',
369
+ :query_limit_poweruser_b1 => ' Abfragen pro Tag, möchten de.ODDB.org aber nur mal für <b>einen Monat</b> testen? Dies kostet Sie <b>EUR ',
370
+ :query_limit_poweruser_b2 => '</b> pro Monat. Die Gebühr gilt pro Benutzer.',
371
+ :query_limit_poweruser_c0 => ' Sie möchten de.ODDB.org nur für einen Tag uneingeschränkt testen? Dies kostet Sie <b>EUR ',
372
+ :query_limit_poweruser_c1 => '</b> pro <b>24h</b>. Die Gebühr gilt pro Benutzer.',
373
+ :query_limit_poweruser => 'Sind Sie von de.ODDB.org überzeugt und benutzen Sie de.ODDB.org regelmässig? Wir haben für Sie folgende 3 Optionen:',
374
+ :query_limit_poweruser_ => 'Unbekannter User',
375
+ :query_limit_thanks => 'C) Vielen Dank!',
376
+ :query_limit_thanks0 => 'Falls Sie Fragen, Bemerkungen oder Verbesserungsvorschläge haben senden Sie ein E-Mail an ',
377
+ :query_limit_thanks1 => ' oder rufen Sie +41 43 540 05 50 an.',
378
+ :query_limit_welcome => 'Geschätzer Kunde, willkommen auf de.ODDB.org',
379
+ :registration => 'Registration',
380
+ :reset => 'Zurücksetzen',
381
+ :result => 'Suchresultat',
382
+ :salutation => 'Anrede',
383
+ :salutation_f => 'Frau',
384
+ :salutation_m => 'Herr',
385
+ :sb_digg => 'Digg',
386
+ :sb_delicious => 'Bookmark',
387
+ :sb_simpy => 'Simpy',
388
+ :sb_stumble => 'Stumble',
389
+ :screencast => 'Video-Anleitung (Screencast)',
390
+ :screencast_url => 'http://www.youtube.com/watch?v=TFqW4hmLzn8',
391
+ :search => 'Suchen',
392
+ :sequence => 'Sequenz',
393
+ :sequence_details_for0 => 'Sequenzdetails für "',
394
+ :sequence_details_for1 => '"',
395
+ :sequences => 'Sequenzen',
396
+ :square_fachinfo => 'FI',
397
+ :square_patinfo => 'GI',
398
+ :size => 'Packungsgrösse',
399
+ :substance => 'Inhaltsstoff',
400
+ :th_active_agents => 'Wirkstoff',
401
+ :th_administration => 'Verabreichung',
402
+ :th_atc => 'ATC-Code',
403
+ :th_code_festbetragsstufe => 'FB-Stufe',
404
+ :th_code_zuzahlungsbefreit => 'Zuzahlungsbefreit',
405
+ :th_comment => 'Kommentar',
406
+ :th_company => 'Hersteller',
407
+ :th_ddd_prices => 'TK',
408
+ :th_difference => '%',
409
+ :th_dose => 'Tagesdosis',
410
+ :th_doses => 'Stärke',
411
+ :th_download_howto => 'Anleitung',
412
+ :th_package_infos => 'Zuzahl. / Rezept',
413
+ :th_price_1 => 'Einmalig',
414
+ :th_price_12 => '1 Jahr 12 Updates',
415
+ :th_price_difference => 'ABS-Differenz',
416
+ :th_price_exfactory => 'FAP',
417
+ :th_price_festbetrag => 'FB',
418
+ :th_price_public => 'AVP',
419
+ :th_price_zuzahlung => 'ZZ',
420
+ :th_product => 'Präparat',
421
+ :th_size => 'Packungsgrösse',
422
+ :time_format_long => '%A, %d. %B %Y, %H:%M:%S',
423
+ :title_found0 => 'Suchergebnis für "',
424
+ :title_found1 => '", Total ',
425
+ :title_found2 => ' Präparate',
426
+ :total_brutto => 'Total inkl. MwSt.:',
427
+ :total_netto => 'Total:',
428
+ :tradename => 'Markenname',
429
+ :tt_active_agents => 'Die Stärke bezieht sich auf Darreichungsform-Einheit (Tablette, Zäpfchen, Sirup, etc). Siehe auch: ',
430
+ :tt_active_agents_link => 'Darreichungsformen',
431
+ :tt_atc => <<-EOS,
432
+ The field of drug utilization research has attracted increasing
433
+ interest since its infancy in the 1960s. At a symposium in Oslo
434
+ in 1969 entitled The Consumption of Drugs, it was agreed that an
435
+ internationally accepted classification system for drug consumption
436
+ studies was needed. At the same symposium the Drug Utilization Research
437
+ Group (DURG) was established and tasked with the development of
438
+ internationally applicable methods for drug utilization research...
439
+ EOS
440
+ # rcov needs a comment between two here-documents
441
+ :tt_code_festbetragsstufe => <<-EOS,
442
+ Gruppen "vergleichbarer" Arzneimittel können nach unterschiedlichen Kriterien gebildet werden, deshalb werden drei Stufen der Vergleichbarkeit unterschieden: Festbetragsgruppen der Stufe 1 werden aus Arzneimitteln mit denselben Wirkstoffen gebildet. Festbetragsgruppen der Stufe 2 werden aus Arzneimitteln gebildet, deren Wirkstoffe pharmakologisch, insbesondere chemisch, und dabei gleichzeitig auch hinsichtlich ihrer therapeutischen Wirkung vergleichbar sind. Festbetragsgruppen der Stufe 3 werden aus Arzneimitteln gebildet, die nicht hinsichtlich ihrer Wirkstoffe, aber hinsichtlich ihrer therapeutischen Wirkung vergleichbar sind...
443
+
444
+ Quelle:
445
+ EOS
446
+ # rcov needs a comment between two here-documents
447
+ :tt_code_zuzahlungsbefreit => <<-EOS,
448
+ Zuzahlungsbefreite Arzneimittel:
449
+
450
+ Die Spitzenverbände der Krankenkassen haben am 11.05.2006 gemeinsam und einheitlich für bestimmte zu Lasten ihrer Krankenkassen abgegebene Arzneimittel Zuzahlungsbefreiungsgrenzen festgelegt.
451
+
452
+ Bei der Verordnung von Arzneimitteln, deren Apothekenverkaufspreise inkl. MwSt. den Wert der jeweiligen Zuzahlungsbefreiungrenze nicht überschreiten, sind Versicherte ab dem 1. Juli 2006 von der gesetzlichen Zuzahlung nach § 31 Abs. 3 Satz 1 SGB V befreit.
453
+
454
+ Quelle:
455
+ EOS
456
+ :tt_company => 'Der Hersteller oder Zulassungsinhaber des Produkts',
457
+ :tt_ddd_prices => 'Tageskosten',
458
+ :tt_price_festbetrag => <<-EOS,
459
+ Festbetrag: DIMDI hat die Aufgabe, die von den Spitzenverbänden der
460
+ Krankenkassen erstellten und veröffentlichten Übersichten über
461
+ sämtliche Festbeträge und die betroffenen Arzneimittel im Internet
462
+ abruffähig zu veröffentlichen...
463
+ EOS
464
+ :tt_price_difference => 'Absolute Differenz zwischen Preis und Festbetrag',
465
+ :tt_price_exfactory => 'Preis: Fabrikabgabepreis exkl. MwSt. in Euro',
466
+ :tt_price_public => 'Preis: Apothekenverkaufspreis inkl. MwSt. in Euro',
467
+ :tt_price_zuzahlung => 'Preis: Zuzahlung/Selbstbeteiligung in Euro',
468
+ :tt_product => 'Präparat ist der Handelsname des Medikaments',
469
+ :unsaved => '(unsaved)',
470
+ :update => 'Speichern',
471
+ :vat => 'MwSt.',
472
+ :welcome_user0 => 'Willkommen bei de.oddb.org! Sie sind angemeldet als ',
473
+ :welcome_user1 => '',
474
+ :welcome_data_declaration => '** Herkunftsdeklaration der Daten **',
475
+ :welcome_drugs => <<-EOS,
476
+ Willkommen bei de.oddb.org, dem aktuellsten
477
+ Medikamenten-Preisvergleichs-Portal Deutschlands.
478
+ EOS
479
+ :who_ddd => 'WHO-DDD',
480
+ :yes => 'Ja',
481
+ :ywesee => 'ywesee.com',
482
+ :ywesee_contact_email => 'zdavatz@ywesee.com',
483
+ :ywesee_contact_href => 'mailto:zdavatz@ywesee.com',
484
+ }
485
+ }
486
+ RESOURCES = {
487
+ :logo => 'logo.png',
488
+ :css => 'oddb.css',
489
+ :downloads => 'downloads',
490
+ :javascript => 'javascript',
491
+ :rss => 'rss',
492
+ :rss_img => 'livemarks16.png',
493
+ }
494
+ def base_url
495
+ [@session.http_protocol + ':/', @session.server_name,
496
+ @language, @session.zone].compact.join("/")
497
+ end
498
+ def captcha
499
+ outdir = File.join(ODDB.config.var, 'captcha')
500
+ dict = File.join(ODDB.config.data_dir, 'captcha', language)
501
+ FileUtils.mkdir_p outdir
502
+ @turing ||= Turing::Challenge.new(:outdir => outdir, :dictionary => dict)
503
+ end
504
+ def csv_components
505
+ [ :pzn, :product, :active_agents, :size, :price_exfactory, :price_public,
506
+ :price_festbetrag, :ddd_prices, :company, ]
507
+ end
508
+ def currency_factor
509
+ 1.0
510
+ end
511
+ def generate_challenge
512
+ challenge = nil
513
+ Thread.exclusive {
514
+ kcode = $KCODE
515
+ $KCODE = 'NONE'
516
+ challenge = captcha.generate_challenge
517
+ @@turing_files.store challenge.object_id, challenge.file
518
+ $KCODE = kcode
519
+ }
520
+ ObjectSpace.define_finalizer challenge, @@turing_finalizer
521
+ challenge
522
+ end
523
+ def legend_components
524
+ { [0,0] => 'explain_zuzahlungsbefreit' }
525
+ end
526
+ def price_factor
527
+ tax_factor * currency_factor
528
+ end
529
+ def products_components
530
+ {
531
+ [0,0] => :fachinfo_link,
532
+ [1,0] => :patinfo_link,
533
+ [2,0] => :product,
534
+ [3,0] => :atc,
535
+ [4,0] => :company,
536
+ [5,0] => :google,
537
+ }
538
+ end
539
+ def result_components
540
+ {
541
+ [0,0] => :fachinfo_link,
542
+ [1,0] => :patinfo_link,
543
+ [2,0] => :product,
544
+ [3,0] => :active_agents,
545
+ [4,0] => :size,
546
+ [5,0] => :price_exfactory,
547
+ [6,0] => :price_public,
548
+ [7,0] => :price_festbetrag,
549
+ [8,0] => :ddd_prices,
550
+ [9,0] => :price_zuzahlung,
551
+ [10,0] => :company,
552
+ [11,0] => :package_infos,
553
+ [12,0] => :feedback,
554
+ [13,0] => :google,
555
+ }
556
+ end
557
+ def tax_factor
558
+ (1 + tax_factor_add) / (1 + tax_factor_sub)
559
+ end
560
+ def tax_factor_add
561
+ 0
562
+ end
563
+ def tax_factor_sub
564
+ 0
565
+ end
566
+ end
567
+ class LookandfeelWrapper < SBSM::LookandfeelWrapper
568
+ def base_url
569
+ [@session.http_protocol + ':/', @session.server_name,
570
+ @language, @session.zone].compact.join("/")
571
+ end
572
+ def price_factor
573
+ tax_factor * currency_factor
574
+ end
575
+ def tax_factor
576
+ (1 + tax_factor_add) / (1 + tax_factor_sub)
577
+ end
578
+ end
579
+ class LookandfeelJustMedical < LookandfeelWrapper
580
+ DICTIONARIES = {
581
+ "de" => {
582
+ :contact_url => 'http://www.just-medical.de/imprint.cfm',
583
+ }
584
+ }
585
+ DISABLED = [ :country_links, :logo ]
586
+ ENABLED = [
587
+ # Features:
588
+ :external_css, :explain_price,
589
+ # Navigation-Links:
590
+ :home, :products, :atc_browser,
591
+ ]
592
+ RESOURCES = {
593
+ :external_css => 'http://www.just-medical.com/css/de.oddb.css',
594
+ }
595
+ def result_components
596
+ {
597
+ [0,0] => :fachinfo_link,
598
+ [1,0] => :patinfo_link,
599
+ [2,0] => :product,
600
+ [3,0] => :active_agents,
601
+ [4,0] => :size,
602
+ [5,0] => :price_exfactory,
603
+ [6,0] => :price_public,
604
+ [7,0] => :price_festbetrag,
605
+ [8,0] => :ddd_prices,
606
+ [9,0] => :company,
607
+ [10,0] => :package_infos,
608
+ [11,0] => :feedback,
609
+ [12,0] => :google,
610
+ }
611
+ end
612
+ end
613
+ class LookandfeelMeineMedikamente < LookandfeelWrapper
614
+ DICTIONARIES = {
615
+ 'de' => {
616
+ :ddd_price_calculation4 => ' ) = <b>CHF ',
617
+ :html_title => 'CH | DE - ODDB.org',
618
+ :html_owner => 'Open Drug Database',
619
+ :price_local => 'Preis Schweiz (CHF)',
620
+ :price_db => 'Preis Deutschland (CHF)',
621
+ :screencast_url => 'http://www.youtube.com/watch?v=8lWYIzjlOe0',
622
+ :tax_add => 'MwSt. Schweiz (7.6%)',
623
+ :tax_sub => 'MwSt. Deutschland (19%)',
624
+ :tt_price_public => 'Preis: Apothekenverkaufspreis inkl. MwSt. in CHF',
625
+ :welcome_drugs => <<-EOS,
626
+ Willkommen bei chde.oddb.org, dem aktuellsten
627
+ Medikamenten-Portal für den Preisvergleich zwischen
628
+ der Schweiz und Deutschland. Alle Preise sind in CHF.
629
+ EOS
630
+ },
631
+ }
632
+ ENABLED = [
633
+ # Features:
634
+ :explain_price, :google_ads, :remote_databases, :query_limit, :welcome,
635
+ :screencast, :social_bookmarks,
636
+ # Navigation-Links:
637
+ :atc_browser, :contact, :home, :products,
638
+ ]
639
+ RESOURCES = {
640
+ :logo => 'logo.png',
641
+ }
642
+ def currency_factor
643
+ @factor ||= Currency.rate('EUR', 'CHF')
644
+ end
645
+ def legend_components
646
+ {
647
+ [0,0] => 'explain_remote',
648
+ [0,1] => 'explain_zuzahlungsbefreit',
649
+ }
650
+ end
651
+ def products_components
652
+ {
653
+ [0,0] => :product,
654
+ [1,0] => :atc,
655
+ [2,0] => :company,
656
+ [3,0] => :google,
657
+ }
658
+ end
659
+ def result_components
660
+ {
661
+ [0,0] => :product,
662
+ [1,0] => :active_agents,
663
+ [2,0] => :size,
664
+ [3,0] => :price_exfactory,
665
+ [4,0] => :price_public,
666
+ [5,0] => :ddd_prices,
667
+ [6,0] => :company,
668
+ [7,0] => :package_infos,
669
+ [8,0] => :google,
670
+ }
671
+ end
672
+ def tax_factor_add
673
+ 7.6 / 100.0
674
+ end
675
+ def tax_factor_sub
676
+ 19.0 / 100.0
677
+ end
678
+ end
679
+ class LookandfeelFactory < SBSM::LookandfeelFactory
680
+ BASE = Lookandfeel
681
+ WRAPPERS = {
682
+ 'mm' => [ LookandfeelMeineMedikamente ],
683
+ 'just-medical' => [ LookandfeelJustMedical ],
684
+ }
685
+ end
686
+ class LookandfeelStub < Lookandfeel
687
+ def initialize(language, zone='drugs')
688
+ @language = language
689
+ @zone = zone
690
+ set_dictionary(@language)
691
+ end
692
+ def base_url
693
+ sprintf "http://%s/%s/%s", ODDB.config.server_name, @language, @zone
694
+ end
695
+ end
696
+ end
697
+ end
698
+ end