aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorjhunkeler <jhunkeler@c5b2fb0a-d05d-0410-98c8-828840a80ff6>2009-12-29 15:46:26 -0500
committerjhunkeler <jhunkeler@c5b2fb0a-d05d-0410-98c8-828840a80ff6>2009-12-29 15:46:26 -0500
commit4bc1e32a79c0928a079113c51f9cf9fcaf525a63 (patch)
tree00312c30100c6947859324c39d80b7fcafaf92f1 /modules
parentad6ba256efd1a65fb1bb3951ae6b17b1593205b7 (diff)
downloadbayonetcms-4bc1e32a79c0928a079113c51f9cf9fcaf525a63.tar.gz
(OC) I cut down the calendar queries to just one which seems to work out a lot better.
git-svn-id: http://svn.3rd-infantry-division.org/testing/branches/Bayonet CMS v2@409 c5b2fb0a-d05d-0410-98c8-828840a80ff6
Diffstat (limited to 'modules')
-rw-r--r--modules/rudi/admin/includes/admin.class.php121
-rw-r--r--modules/rudi/admin/index.php21
-rw-r--r--modules/rudi/admin/views/view.addsoldier.php3
-rw-r--r--modules/rudi/admin/views/view.admin.php20
-rw-r--r--modules/rudi/admin/views/view.deletesoldier.php3
-rw-r--r--modules/rudi/admin/views/view.modifysoldier.php35
-rw-r--r--modules/rudi/footer.php8
-rw-r--r--modules/rudi/header.php6
-rw-r--r--modules/rudi/images.tar.bz2bin0 -> 32628764 bytes
-rw-r--r--modules/rudi/images/flags/australia.gifbin0 -> 655 bytes
-rw-r--r--modules/rudi/images/flags/canada.gifbin0 -> 1940 bytes
-rw-r--r--modules/rudi/images/flags/canada1.gifbin0 -> 1005 bytes
-rw-r--r--modules/rudi/images/flags/germany.gifbin0 -> 162 bytes
-rw-r--r--modules/rudi/images/flags/index.html0
-rw-r--r--modules/rudi/images/flags/israel.gifbin0 -> 237 bytes
-rw-r--r--modules/rudi/images/flags/japan.gifbin0 -> 224 bytes
-rw-r--r--modules/rudi/images/flags/korea.gifbin0 -> 674 bytes
-rw-r--r--modules/rudi/images/flags/mexico.gifbin0 -> 983 bytes
-rw-r--r--modules/rudi/images/flags/russia.gifbin0 -> 257 bytes
-rw-r--r--modules/rudi/images/flags/uk.gifbin0 -> 1119 bytes
-rw-r--r--modules/rudi/images/flags/usa.gifbin0 -> 1533 bytes
-rw-r--r--modules/rudi/images/medals/3IDESM.jpgbin0 -> 12629 bytes
-rw-r--r--modules/rudi/images/medals/ACM.jpgbin0 -> 12028 bytes
-rw-r--r--modules/rudi/images/medals/ADSM.jpgbin0 -> 12639 bytes
-rw-r--r--modules/rudi/images/medals/AE-AMCM.jpgbin0 -> 14193 bytes
-rw-r--r--modules/rudi/images/medals/AGCM.jpgbin0 -> 12108 bytes
-rw-r--r--modules/rudi/images/medals/BS.jpgbin0 -> 12344 bytes
-rw-r--r--modules/rudi/images/medals/DSC.jpgbin0 -> 19490 bytes
-rw-r--r--modules/rudi/images/medals/EAM.jpgbin0 -> 11842 bytes
-rw-r--r--modules/rudi/images/medals/EAMECM.jpgbin0 -> 13003 bytes
-rw-r--r--modules/rudi/images/medals/LOM.jpgbin0 -> 10799 bytes
-rw-r--r--modules/rudi/images/medals/MUC.jpgbin0 -> 26501 bytes
-rw-r--r--modules/rudi/images/medals/PH.jpgbin0 -> 10743 bytes
-rw-r--r--modules/rudi/images/medals/SM.jpgbin0 -> 12488 bytes
-rw-r--r--modules/rudi/images/medals/SS.jpgbin0 -> 13053 bytes
-rw-r--r--modules/rudi/images/medals/WWIIAOM.jpgbin0 -> 10647 bytes
-rw-r--r--modules/rudi/images/medals/WWIIVM.jpgbin0 -> 13154 bytes
-rw-r--r--modules/rudi/images/medals/armedforcesservice.jpgbin0 -> 19029 bytes
-rw-r--r--modules/rudi/images/medals/armyachievement.jpgbin0 -> 17037 bytes
-rw-r--r--modules/rudi/images/medals/armycommendation.jpgbin0 -> 16781 bytes
-rw-r--r--modules/rudi/images/medals/armyservice.jpgbin0 -> 17708 bytes
-rw-r--r--modules/rudi/images/medals/bronzestar.jpgbin0 -> 17801 bytes
-rw-r--r--modules/rudi/images/medals/cib1.gifbin0 -> 4135 bytes
-rw-r--r--modules/rudi/images/medals/cib2.gifbin0 -> 4719 bytes
-rw-r--r--modules/rudi/images/medals/cib3.gifbin0 -> 5002 bytes
-rw-r--r--modules/rudi/images/medals/cib4.gifbin0 -> 4357 bytes
-rw-r--r--modules/rudi/images/medals/cod2duc.jpgbin0 -> 17220 bytes
-rw-r--r--modules/rudi/images/medals/cod4duc.jpgbin0 -> 18868 bytes
-rw-r--r--modules/rudi/images/medals/codduc.jpgbin0 -> 26590 bytes
-rw-r--r--modules/rudi/images/medals/drill_instructor_badge.gifbin0 -> 4746 bytes
-rw-r--r--modules/rudi/images/medals/dsm.jpgbin0 -> 18088 bytes
-rw-r--r--modules/rudi/images/medals/esm.jpgbin0 -> 18453 bytes
-rw-r--r--modules/rudi/images/medals/exempattendance.jpgbin0 -> 14790 bytes
-rw-r--r--modules/rudi/images/medals/goodconduct.jpgbin0 -> 17653 bytes
-rw-r--r--modules/rudi/images/medals/gwotem.jpgbin0 -> 18528 bytes
-rw-r--r--modules/rudi/images/medals/gwotsm.jpgbin0 -> 17209 bytes
-rw-r--r--modules/rudi/images/medals/index.html-old0
-rw-r--r--modules/rudi/images/medals/legionofmerit.jpgbin0 -> 17265 bytes
-rw-r--r--modules/rudi/images/medals/nationaldefense.jpgbin0 -> 18323 bytes
-rw-r--r--modules/rudi/images/medals/ncoprofdev.jpgbin0 -> 18456 bytes
-rw-r--r--modules/rudi/images/medals/oak_leaf_clusters.jpgbin0 -> 12575 bytes
-rw-r--r--modules/rudi/images/medals/purpleheart.jpgbin0 -> 16352 bytes
-rw-r--r--modules/rudi/images/medals/silverstar.jpgbin0 -> 19028 bytes
-rw-r--r--modules/rudi/images/medals/soldiers.jpgbin0 -> 18626 bytes
-rw-r--r--modules/rudi/images/medals/valor_device.pngbin0 -> 6257 bytes
-rw-r--r--modules/rudi/images/ranks/large/1LT.pngbin0 -> 4093 bytes
-rw-r--r--modules/rudi/images/ranks/large/1SG.pngbin0 -> 16484 bytes
-rw-r--r--modules/rudi/images/ranks/large/1stLT.gifbin0 -> 1661 bytes
-rw-r--r--modules/rudi/images/ranks/large/2LT.pngbin0 -> 4663 bytes
-rw-r--r--modules/rudi/images/ranks/large/2ndLT.gifbin0 -> 1836 bytes
-rw-r--r--modules/rudi/images/ranks/large/CPL.pngbin0 -> 8911 bytes
-rw-r--r--modules/rudi/images/ranks/large/CPT.pngbin0 -> 6166 bytes
-rw-r--r--modules/rudi/images/ranks/large/CSM.pngbin0 -> 17079 bytes
-rw-r--r--modules/rudi/images/ranks/large/General.gifbin0 -> 2273 bytes
-rw-r--r--modules/rudi/images/ranks/large/LTGeneral.gifbin0 -> 2470 bytes
-rw-r--r--modules/rudi/images/ranks/large/MSG.pngbin0 -> 15886 bytes
-rw-r--r--modules/rudi/images/ranks/large/MajorGeneral.gifbin0 -> 2916 bytes
-rw-r--r--modules/rudi/images/ranks/large/PFC.pngbin0 -> 8658 bytes
-rw-r--r--modules/rudi/images/ranks/large/PV2.pngbin0 -> 6713 bytes
-rw-r--r--modules/rudi/images/ranks/large/PVT.gifbin0 -> 163 bytes
-rw-r--r--modules/rudi/images/ranks/large/SFC.pngbin0 -> 14884 bytes
-rw-r--r--modules/rudi/images/ranks/large/SGT.pngbin0 -> 10469 bytes
-rw-r--r--modules/rudi/images/ranks/large/SMG.pngbin0 -> 16852 bytes
-rw-r--r--modules/rudi/images/ranks/large/SPC.pngbin0 -> 8416 bytes
-rw-r--r--modules/rudi/images/ranks/large/SSG.pngbin0 -> 12772 bytes
-rw-r--r--modules/rudi/images/ranks/large/brigadier.gifbin0 -> 3494 bytes
-rw-r--r--modules/rudi/images/ranks/large/captain.gifbin0 -> 2908 bytes
-rw-r--r--modules/rudi/images/ranks/large/colonel.gifbin0 -> 4565 bytes
-rw-r--r--modules/rudi/images/ranks/large/index.html0
-rw-r--r--modules/rudi/images/ranks/large/ltc.gifbin0 -> 3767 bytes
-rw-r--r--modules/rudi/images/ranks/large/major.gifbin0 -> 3674 bytes
-rw-r--r--modules/rudi/images/ranks/small/1LT.pngbin0 -> 3330 bytes
-rw-r--r--modules/rudi/images/ranks/small/1SG.pngbin0 -> 6368 bytes
-rw-r--r--modules/rudi/images/ranks/small/2LT.pngbin0 -> 3425 bytes
-rw-r--r--modules/rudi/images/ranks/small/CPL.pngbin0 -> 4421 bytes
-rw-r--r--modules/rudi/images/ranks/small/CPT.pngbin0 -> 4232 bytes
-rw-r--r--modules/rudi/images/ranks/small/CSM.pngbin0 -> 6456 bytes
-rw-r--r--modules/rudi/images/ranks/small/General.gifbin0 -> 2273 bytes
-rw-r--r--modules/rudi/images/ranks/small/LtGeneral.gifbin0 -> 2395 bytes
-rw-r--r--modules/rudi/images/ranks/small/MSG.pngbin0 -> 6292 bytes
-rw-r--r--modules/rudi/images/ranks/small/MajorGeneral.gifbin0 -> 1668 bytes
-rw-r--r--modules/rudi/images/ranks/small/PFC.pngbin0 -> 4372 bytes
-rw-r--r--modules/rudi/images/ranks/small/PV2.pngbin0 -> 3882 bytes
-rw-r--r--modules/rudi/images/ranks/small/SFC.pngbin0 -> 5939 bytes
-rw-r--r--modules/rudi/images/ranks/small/SGT.pngbin0 -> 4870 bytes
-rw-r--r--modules/rudi/images/ranks/small/SMG.pngbin0 -> 6336 bytes
-rw-r--r--modules/rudi/images/ranks/small/SPC.pngbin0 -> 4312 bytes
-rw-r--r--modules/rudi/images/ranks/small/SSG.pngbin0 -> 5457 bytes
-rw-r--r--modules/rudi/images/ranks/small/brigadier.gifbin0 -> 1259 bytes
-rw-r--r--modules/rudi/images/ranks/small/index.html0
-rw-r--r--modules/rudi/images/ranks/small/pvt.gifbin0 -> 78 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-1stlieutenant.gifbin0 -> 1151 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-2ndlieutenant.gifbin0 -> 1081 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-captain.gifbin0 -> 799 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-colonel.gifbin0 -> 1654 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-ltcolonel.gifbin0 -> 1560 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-major.gifbin0 -> 1546 bytes
-rw-r--r--modules/rudi/images/ranks/small/rank-private.gifbin0 -> 163 bytes
-rw-r--r--modules/rudi/images/uniform/ACoia.pngbin0 -> 287047 bytes
-rw-r--r--modules/rudi/images/uniform/BBell.pngbin0 -> 295153 bytes
-rw-r--r--modules/rudi/images/uniform/BChu.pngbin0 -> 304564 bytes
-rw-r--r--modules/rudi/images/uniform/BLevine.pngbin0 -> 298243 bytes
-rw-r--r--modules/rudi/images/uniform/BSegal.pngbin0 -> 303105 bytes
-rw-r--r--modules/rudi/images/uniform/DHolson.pngbin0 -> 291465 bytes
-rw-r--r--modules/rudi/images/uniform/EOConnell.pngbin0 -> 304203 bytes
-rw-r--r--modules/rudi/images/uniform/GTownsend.pngbin0 -> 305424 bytes
-rw-r--r--modules/rudi/images/uniform/IBailey.pngbin0 -> 303549 bytes
-rw-r--r--modules/rudi/images/uniform/JBottheim.pngbin0 -> 296613 bytes
-rw-r--r--modules/rudi/images/uniform/JHunkeler.pngbin0 -> 309740 bytes
-rw-r--r--modules/rudi/images/uniform/JMelnyk.pngbin0 -> 287114 bytes
-rw-r--r--modules/rudi/images/uniform/JRobinson.pngbin0 -> 292311 bytes
-rw-r--r--modules/rudi/images/uniform/KGrimes.pngbin0 -> 301461 bytes
-rw-r--r--modules/rudi/images/uniform/KJohnson.pngbin0 -> 288935 bytes
-rw-r--r--modules/rudi/images/uniform/LTrimble.pngbin0 -> 302003 bytes
-rw-r--r--modules/rudi/images/uniform/MLula.pngbin0 -> 311178 bytes
-rw-r--r--modules/rudi/images/uniform/MMark.pngbin0 -> 301887 bytes
-rw-r--r--modules/rudi/images/uniform/MMcClellan.pngbin0 -> 302019 bytes
-rw-r--r--modules/rudi/images/uniform/NGiroux.pngbin0 -> 305035 bytes
-rw-r--r--modules/rudi/images/uniform/NMartini.pngbin0 -> 305571 bytes
-rw-r--r--modules/rudi/images/uniform/NPuckett.pngbin0 -> 299669 bytes
-rw-r--r--modules/rudi/images/uniform/PBurris.pngbin0 -> 303770 bytes
-rw-r--r--modules/rudi/images/uniform/PPederson.pngbin0 -> 289002 bytes
-rw-r--r--modules/rudi/images/uniform/RLeahy.pngbin0 -> 308970 bytes
-rw-r--r--modules/rudi/images/uniform/RThomas.pngbin0 -> 300869 bytes
-rw-r--r--modules/rudi/images/uniform/SCorsaro.pngbin0 -> 300741 bytes
-rw-r--r--modules/rudi/images/uniform/ZBarrett.pngbin0 -> 304753 bytes
-rw-r--r--modules/rudi/images/uniform/bailey.jpgbin0 -> 60466 bytes
-rw-r--r--modules/rudi/images/uniform/barrett.jpgbin0 -> 70034 bytes
-rw-r--r--modules/rudi/images/uniform/bell.jpgbin0 -> 89556 bytes
-rw-r--r--modules/rudi/images/uniform/blackburn.jpgbin0 -> 127799 bytes
-rw-r--r--modules/rudi/images/uniform/blanchette.jpgbin0 -> 176352 bytes
-rw-r--r--modules/rudi/images/uniform/bottheim.jpgbin0 -> 122813 bytes
-rw-r--r--modules/rudi/images/uniform/brooks.jpgbin0 -> 139006 bytes
-rw-r--r--modules/rudi/images/uniform/brown.jpgbin0 -> 209348 bytes
-rw-r--r--modules/rudi/images/uniform/burris copy.jpgbin0 -> 128430 bytes
-rw-r--r--modules/rudi/images/uniform/burris.jpgbin0 -> 170023 bytes
-rw-r--r--modules/rudi/images/uniform/bursik.jpgbin0 -> 52778 bytes
-rw-r--r--modules/rudi/images/uniform/chu.jpgbin0 -> 169405 bytes
-rw-r--r--modules/rudi/images/uniform/clark.jpgbin0 -> 60546 bytes
-rw-r--r--modules/rudi/images/uniform/clayton.jpgbin0 -> 129211 bytes
-rw-r--r--modules/rudi/images/uniform/cooke.jpgbin0 -> 139618 bytes
-rw-r--r--modules/rudi/images/uniform/corsaro.jpgbin0 -> 136146 bytes
-rw-r--r--modules/rudi/images/uniform/cpl.jpgbin0 -> 207981 bytes
-rw-r--r--modules/rudi/images/uniform/dalia.jpgbin0 -> 200603 bytes
-rw-r--r--modules/rudi/images/uniform/ditzel.jpgbin0 -> 90225 bytes
-rw-r--r--modules/rudi/images/uniform/donovan.jpgbin0 -> 55378 bytes
-rw-r--r--modules/rudi/images/uniform/dubin.jpgbin0 -> 120375 bytes
-rw-r--r--modules/rudi/images/uniform/duvall.jpgbin0 -> 115170 bytes
-rw-r--r--modules/rudi/images/uniform/enlisted.jpgbin0 -> 155373 bytes
-rw-r--r--modules/rudi/images/uniform/freeman.jpgbin0 -> 122388 bytes
-rw-r--r--modules/rudi/images/uniform/frey.jpgbin0 -> 70129 bytes
-rw-r--r--modules/rudi/images/uniform/fsgt.jpgbin0 -> 211080 bytes
-rw-r--r--modules/rudi/images/uniform/gaskin.jpgbin0 -> 168069 bytes
-rw-r--r--modules/rudi/images/uniform/geary.jpgbin0 -> 61536 bytes
-rw-r--r--modules/rudi/images/uniform/giles.jpgbin0 -> 167319 bytes
-rw-r--r--modules/rudi/images/uniform/giroux.jpgbin0 -> 165155 bytes
-rw-r--r--modules/rudi/images/uniform/goodrich.jpgbin0 -> 213503 bytes
-rw-r--r--modules/rudi/images/uniform/gwizdala.jpgbin0 -> 57733 bytes
-rw-r--r--modules/rudi/images/uniform/hallock.jpgbin0 -> 205399 bytes
-rw-r--r--modules/rudi/images/uniform/higgins.jpgbin0 -> 137833 bytes
-rw-r--r--modules/rudi/images/uniform/holson.jpgbin0 -> 208445 bytes
-rw-r--r--modules/rudi/images/uniform/hornung.jpgbin0 -> 216193 bytes
-rw-r--r--modules/rudi/images/uniform/hunkeler.jpgbin0 -> 139385 bytes
-rw-r--r--modules/rudi/images/uniform/index.html0
-rw-r--r--modules/rudi/images/uniform/jimenez.jpgbin0 -> 60891 bytes
-rw-r--r--modules/rudi/images/uniform/kenkel.jpgbin0 -> 139392 bytes
-rw-r--r--modules/rudi/images/uniform/killian.jpgbin0 -> 119028 bytes
-rw-r--r--modules/rudi/images/uniform/leahy.jpgbin0 -> 147709 bytes
-rw-r--r--modules/rudi/images/uniform/levine.jpgbin0 -> 90020 bytes
-rw-r--r--modules/rudi/images/uniform/litton.jpgbin0 -> 164532 bytes
-rw-r--r--modules/rudi/images/uniform/luker.jpgbin0 -> 209352 bytes
-rw-r--r--modules/rudi/images/uniform/lula.jpgbin0 -> 113012 bytes
-rw-r--r--modules/rudi/images/uniform/madden.jpgbin0 -> 137781 bytes
-rw-r--r--modules/rudi/images/uniform/manary.jpgbin0 -> 122837 bytes
-rw-r--r--modules/rudi/images/uniform/mark.jpgbin0 -> 209527 bytes
-rw-r--r--modules/rudi/images/uniform/mcclellan.jpgbin0 -> 127886 bytes
-rw-r--r--modules/rudi/images/uniform/mirman.jpgbin0 -> 206348 bytes
-rw-r--r--modules/rudi/images/uniform/moncayo.jpgbin0 -> 211235 bytes
-rw-r--r--modules/rudi/images/uniform/nowlan.jpgbin0 -> 163725 bytes
-rw-r--r--modules/rudi/images/uniform/oconnell.jpgbin0 -> 90383 bytes
-rw-r--r--modules/rudi/images/uniform/officer.jpgbin0 -> 222067 bytes
-rw-r--r--modules/rudi/images/uniform/officer1.jpgbin0 -> 172545 bytes
-rw-r--r--modules/rudi/images/uniform/papp.jpgbin0 -> 215683 bytes
-rw-r--r--modules/rudi/images/uniform/patterson.jpgbin0 -> 210126 bytes
-rw-r--r--modules/rudi/images/uniform/pfc.jpgbin0 -> 58556 bytes
-rw-r--r--modules/rudi/images/uniform/pfc3service copy.jpgbin0 -> 109070 bytes
-rw-r--r--modules/rudi/images/uniform/poole.jpgbin0 -> 209348 bytes
-rw-r--r--modules/rudi/images/uniform/puckett.jpgbin0 -> 119529 bytes
-rw-r--r--modules/rudi/images/uniform/pvt.jpgbin0 -> 205709 bytes
-rw-r--r--modules/rudi/images/uniform/schneider.jpgbin0 -> 209348 bytes
-rw-r--r--modules/rudi/images/uniform/scott.jpgbin0 -> 52769 bytes
-rw-r--r--modules/rudi/images/uniform/segal.jpgbin0 -> 210897 bytes
-rw-r--r--modules/rudi/images/uniform/severyns.jpgbin0 -> 124894 bytes
-rw-r--r--modules/rudi/images/uniform/sgt.jpgbin0 -> 208875 bytes
-rw-r--r--modules/rudi/images/uniform/sokolowski.jpgbin0 -> 214274 bytes
-rw-r--r--modules/rudi/images/uniform/sosa.jpgbin0 -> 110679 bytes
-rw-r--r--modules/rudi/images/uniform/ssgt.jpgbin0 -> 209565 bytes
-rw-r--r--modules/rudi/images/uniform/test.gifbin0 -> 86068 bytes
-rw-r--r--modules/rudi/images/uniform/test_enlisted.jpgbin0 -> 56855 bytes
-rw-r--r--modules/rudi/images/uniform/thomas.jpgbin0 -> 134105 bytes
-rw-r--r--modules/rudi/images/uniform/townsend.jpgbin0 -> 93443 bytes
-rw-r--r--modules/rudi/images/uniform/townsend_OLD.jpgbin0 -> 101441 bytes
-rw-r--r--modules/rudi/images/uniform/trimble.jpgbin0 -> 140085 bytes
-rw-r--r--modules/rudi/images/uniform/whiting.jpgbin0 -> 172716 bytes
-rw-r--r--modules/rudi/images/uniform/williams.jpgbin0 -> 43310 bytes
-rw-r--r--modules/rudi/images/uniform/wubbena.jpgbin0 -> 195067 bytes
-rw-r--r--modules/rudi/images/uniform/young.jpgbin0 -> 205423 bytes
-rw-r--r--modules/rudi/images/units/2ndPlatoon.gifbin0 -> 21561 bytes
-rw-r--r--modules/rudi/images/units/BCT.jpgbin0 -> 67560 bytes
-rw-r--r--modules/rudi/images/units/HQ.gifbin0 -> 22251 bytes
-rw-r--r--modules/rudi/images/units/index.html0
-rw-r--r--modules/rudi/images/units/rocky.gifbin0 -> 11614 bytes
-rw-r--r--modules/rudi/images/weapons/M16a4.jpgbin0 -> 10601 bytes
-rw-r--r--modules/rudi/images/weapons/M203-1.jpgbin0 -> 49023 bytes
-rw-r--r--modules/rudi/images/weapons/M21.jpgbin0 -> 5114 bytes
-rw-r--r--modules/rudi/images/weapons/M249.jpgbin0 -> 45857 bytes
-rw-r--r--modules/rudi/images/weapons/M9.jpgbin0 -> 32248 bytes
-rw-r--r--modules/rudi/images/weapons/USP.jpgbin0 -> 29611 bytes
-rw-r--r--modules/rudi/images/weapons/index.html0
-rw-r--r--modules/rudi/images/weapons/m14.jpgbin0 -> 12745 bytes
-rw-r--r--modules/rudi/images/weapons/m40a3.jpgbin0 -> 47209 bytes
-rw-r--r--modules/rudi/images/weapons/m4a1.jpgbin0 -> 9504 bytes
-rw-r--r--modules/rudi/images/weapons/m67-grenade.jpgbin0 -> 15227 bytes
-rw-r--r--modules/rudi/images/weapons/m84.jpgbin0 -> 24936 bytes
-rw-r--r--modules/rudi/includes/common.class.php801
-rw-r--r--modules/rudi/includes/debug.php80
-rw-r--r--modules/rudi/includes/index.html0
-rw-r--r--modules/rudi/includes/rudi.css22
-rw-r--r--modules/rudi/includes/sql.class.php90
-rw-r--r--modules/rudi/index.php80
-rw-r--r--modules/rudi/views/view.awards.php83
-rw-r--r--modules/rudi/views/view.current.php134
-rw-r--r--modules/rudi/views/view.current.php.gzbin0 -> 1107 bytes
-rw-r--r--modules/rudi/views/view.drills.php99
-rw-r--r--modules/rudi/views/view.profile.php188
-rw-r--r--modules/rudi/views/view.ranks.php39
256 files changed, 1833 insertions, 0 deletions
diff --git a/modules/rudi/admin/includes/admin.class.php b/modules/rudi/admin/includes/admin.class.php
new file mode 100644
index 0000000..fee79c9
--- /dev/null
+++ b/modules/rudi/admin/includes/admin.class.php
@@ -0,0 +1,121 @@
+<?php
+/*
+class Rank
+{
+ public function __toString()
+ {
+ return $this->longname;
+ }
+}
+
+class Award
+{
+ public function __toString()
+ {
+ return $this->name;
+ }
+}
+*/
+
+class AdminCommon extends RUDI_Common
+{
+ public function __construct()
+ {
+ parent::__construct();
+ $this->Update();
+ }
+
+ public function getRanks()
+ {
+ $result = $this->db->Query("SELECT * FROM rudi_ranks");
+ while(($row = $this->db->FetchObject($result,'Rank'))!=false)
+ {
+ $ranks[] = $row;
+ }
+
+ return $ranks;
+ }
+
+ public function getAwards()
+ {
+ $result = $this->db->Query("SELECT * FROM rudi_awards");
+ while(($row = $this->db->FetchObject($result,'Award'))!=false)
+ {
+ $awards[] = $row;
+ }
+
+ return $awards;
+ }
+}
+
+class AdminAdd
+{
+ protected $db, $link, $id;
+ public $data;
+
+ public function __construct()
+ {
+ if(is_null($id))
+ {
+ decho("No ID");
+ return;
+ }
+ $this->id = $id;
+
+ $this->db = new RUDI_SQL();
+ $this->link = $this->db->Connect('localhost','hunkeler','proball');
+ $this->db->Select_db('rudi');
+
+ //$result = $this->db->Query("INSERT INTO rudi_unit_members VALUES()");
+ //$name = $this->db->FetchArray($result);
+
+ echo "Current soldier selected: '{$name['last_name']}, {$name['first_name']}'";
+ }
+
+ public function __set($var, $val)
+ {
+ //echo "UPDATE rudi_unit_members SET $var = '$val';";
+ //mysql_query("UPDATE rudi_unit_members SET $var = '$val';");
+ $this->id = addslashes($this->id);
+ $this->db->Query("UPDATE rudi_unit_members SET $var = '$val' WHERE member_id = '{$this->id}';");
+ }
+}
+
+class AdminModify
+{
+ protected $db, $link, $id;
+ public $data;
+
+ public function __construct($id)
+ {
+ if(is_null($id))
+ {
+ decho("No ID");
+ return;
+ }
+ else
+ {
+ decho(get_class($this) . "received: $id" );
+ }
+ $this->id = $id;
+
+ $this->db = new RUDI_SQL();
+ $this->link = $this->db->Connect('localhost','hunkeler','proball');
+ $this->db->Select_db('rudi');
+
+ $result = $this->db->Query("SELECT last_name, first_name FROM rudi_unit_members WHERE member_id = '$id'");
+ $name = $this->db->FetchArray($result);
+
+ echo "Current soldier selected: '{$name['last_name']}, {$name['first_name']}'";
+ }
+
+ public function __set($var, $val)
+ {
+ //echo "UPDATE rudi_unit_members SET $var = '$val';";
+ //mysql_query("UPDATE rudi_unit_members SET $var = '$val';");
+ $this->id = addslashes($this->id);
+ $this->db->Query("UPDATE rudi_unit_members SET $var = '$val' WHERE member_id = '{$this->id}';");
+ }
+}
+
+?> \ No newline at end of file
diff --git a/modules/rudi/admin/index.php b/modules/rudi/admin/index.php
new file mode 100644
index 0000000..33d9cd1
--- /dev/null
+++ b/modules/rudi/admin/index.php
@@ -0,0 +1,21 @@
+<?php
+
+//include '../includes/debug.php';
+//include '../includes/sql.class.php';
+//include '../includes/common.class.php';
+include 'includes/admin.class.php';
+//include '../header.php';
+
+ob_start();
+$common = new AdminCommon();
+include 'views/view.admin.php';
+
+if(isset($_GET['soldier']) && $_GET['soldier'] == 'modify')
+{
+ include 'views/view.modifysoldier.php';
+
+}
+
+//include '../footer.php';
+ob_flush();
+?> \ No newline at end of file
diff --git a/modules/rudi/admin/views/view.addsoldier.php b/modules/rudi/admin/views/view.addsoldier.php
new file mode 100644
index 0000000..370b232
--- /dev/null
+++ b/modules/rudi/admin/views/view.addsoldier.php
@@ -0,0 +1,3 @@
+<?php
+
+?> \ No newline at end of file
diff --git a/modules/rudi/admin/views/view.admin.php b/modules/rudi/admin/views/view.admin.php
new file mode 100644
index 0000000..d05e5b1
--- /dev/null
+++ b/modules/rudi/admin/views/view.admin.php
@@ -0,0 +1,20 @@
+<?php
+
+?>
+<html>
+<head>
+<title>RUDI Administration</title>
+</head>
+
+<body>
+ <table>
+ <tr><th>RUDI Administration</th></tr>
+ <table cellpadding="5">
+ <tr><th>Soldiers</th><th>Awards</th><th>Ranks</th></tr>
+ <tr><td><a href="?load=rudi&admin&soldier=add">Add</a></td><td><a href="?load=rudi&admin&award=add">Add</a></td><td><a href="?load=rudi&admin&rank=add">Add</a></td></tr>
+ <tr><td>Modify</td><td>Modify</td><td>Modify</td></tr>
+ <tr><td>Delete</td><td>Delete</td><td>Delete</td></tr>
+ </table>
+ </table>
+</body>
+</html>
diff --git a/modules/rudi/admin/views/view.deletesoldier.php b/modules/rudi/admin/views/view.deletesoldier.php
new file mode 100644
index 0000000..370b232
--- /dev/null
+++ b/modules/rudi/admin/views/view.deletesoldier.php
@@ -0,0 +1,3 @@
+<?php
+
+?> \ No newline at end of file
diff --git a/modules/rudi/admin/views/view.modifysoldier.php b/modules/rudi/admin/views/view.modifysoldier.php
new file mode 100644
index 0000000..83449b8
--- /dev/null
+++ b/modules/rudi/admin/views/view.modifysoldier.php
@@ -0,0 +1,35 @@
+
+<?php
+if(isset($_POST['id']))
+{
+ $id = $_POST['id'];
+ //unset($_POST);
+ $modify = new AdminModify((int)$id);
+ $edit =& $common->data[(int)$id];
+}
+?>
+
+<form method="POST">
+<select name="id">
+<?php foreach($common->data as $member):?>
+ <option value="<?php echo $member->member_id ?>" <?php if(!is_null($id) && $id == $member->member_id) echo ' selected '; ?>><?php echo $member->name ?></option>
+<?php endforeach; ?>
+</select>
+<button value="Select">Select</button>
+</form>
+
+<form action="" method="GET">
+<table>
+<tr><th>Modify Soldier</th></tr>
+<tr><th>Last Name</th><td><input type="text" name="last" value="<?php echo $edit->last_name ?>" /></td></tr>
+<tr><th>First Name</th><td><input type="text" value="<?php echo $edit->first_name ?>" /></td></tr>
+<tr><th>Rank</th><td><select name="rank">
+<?php foreach($common->getRanks() as $ranks): ?>
+ <option value="<?php echo $ranks->rank_id ?>"><?php echo $ranks ?></option>
+<?php endforeach; ?>
+</select></td></tr>
+<tr><th colspan="2"><input type="submit" value="submit"/></th></tr>
+</table>
+</form>
+
+<?php decho($_POST); decho($common->data[$id]); //decho($common->getRanks())?> \ No newline at end of file
diff --git a/modules/rudi/footer.php b/modules/rudi/footer.php
new file mode 100644
index 0000000..f827d01
--- /dev/null
+++ b/modules/rudi/footer.php
@@ -0,0 +1,8 @@
+<?php
+$real = sprintf("%.2fkb", memory_get_usage() / 1024);
+$peak = sprintf("%.2fkb", memory_get_peak_usage() / 1024);
+?>
+
+<center><?php echo "Connections: $db_connections | Queries: $db_queries | Fetches: $db_fetches | Released: $db_frees | Memory: (real): $real (peak): $peak"?></center>
+</body>
+</html> \ No newline at end of file
diff --git a/modules/rudi/header.php b/modules/rudi/header.php
new file mode 100644
index 0000000..47c5ffa
--- /dev/null
+++ b/modules/rudi/header.php
@@ -0,0 +1,6 @@
+<html>
+<head>
+<title>RUDI</title>
+<!-- <link rel="stylesheet" type="text/css" href="includes/rudi.css" /> -->
+</head>
+<body>
diff --git a/modules/rudi/images.tar.bz2 b/modules/rudi/images.tar.bz2
new file mode 100644
index 0000000..6dd8bb8
--- /dev/null
+++ b/modules/rudi/images.tar.bz2
Binary files differ
diff --git a/modules/rudi/images/flags/australia.gif b/modules/rudi/images/flags/australia.gif
new file mode 100644
index 0000000..0fe9a53
--- /dev/null
+++ b/modules/rudi/images/flags/australia.gif
Binary files differ
diff --git a/modules/rudi/images/flags/canada.gif b/modules/rudi/images/flags/canada.gif
new file mode 100644
index 0000000..bbc51a6
--- /dev/null
+++ b/modules/rudi/images/flags/canada.gif
Binary files differ
diff --git a/modules/rudi/images/flags/canada1.gif b/modules/rudi/images/flags/canada1.gif
new file mode 100644
index 0000000..777c3b7
--- /dev/null
+++ b/modules/rudi/images/flags/canada1.gif
Binary files differ
diff --git a/modules/rudi/images/flags/germany.gif b/modules/rudi/images/flags/germany.gif
new file mode 100644
index 0000000..5e9767f
--- /dev/null
+++ b/modules/rudi/images/flags/germany.gif
Binary files differ
diff --git a/modules/rudi/images/flags/index.html b/modules/rudi/images/flags/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/flags/index.html
diff --git a/modules/rudi/images/flags/israel.gif b/modules/rudi/images/flags/israel.gif
new file mode 100644
index 0000000..e726eb7
--- /dev/null
+++ b/modules/rudi/images/flags/israel.gif
Binary files differ
diff --git a/modules/rudi/images/flags/japan.gif b/modules/rudi/images/flags/japan.gif
new file mode 100644
index 0000000..11efbf7
--- /dev/null
+++ b/modules/rudi/images/flags/japan.gif
Binary files differ
diff --git a/modules/rudi/images/flags/korea.gif b/modules/rudi/images/flags/korea.gif
new file mode 100644
index 0000000..b534115
--- /dev/null
+++ b/modules/rudi/images/flags/korea.gif
Binary files differ
diff --git a/modules/rudi/images/flags/mexico.gif b/modules/rudi/images/flags/mexico.gif
new file mode 100644
index 0000000..bc8b7c7
--- /dev/null
+++ b/modules/rudi/images/flags/mexico.gif
Binary files differ
diff --git a/modules/rudi/images/flags/russia.gif b/modules/rudi/images/flags/russia.gif
new file mode 100644
index 0000000..5b78932
--- /dev/null
+++ b/modules/rudi/images/flags/russia.gif
Binary files differ
diff --git a/modules/rudi/images/flags/uk.gif b/modules/rudi/images/flags/uk.gif
new file mode 100644
index 0000000..fd3c469
--- /dev/null
+++ b/modules/rudi/images/flags/uk.gif
Binary files differ
diff --git a/modules/rudi/images/flags/usa.gif b/modules/rudi/images/flags/usa.gif
new file mode 100644
index 0000000..08a1933
--- /dev/null
+++ b/modules/rudi/images/flags/usa.gif
Binary files differ
diff --git a/modules/rudi/images/medals/3IDESM.jpg b/modules/rudi/images/medals/3IDESM.jpg
new file mode 100644
index 0000000..2574626
--- /dev/null
+++ b/modules/rudi/images/medals/3IDESM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/ACM.jpg b/modules/rudi/images/medals/ACM.jpg
new file mode 100644
index 0000000..e56c0e4
--- /dev/null
+++ b/modules/rudi/images/medals/ACM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/ADSM.jpg b/modules/rudi/images/medals/ADSM.jpg
new file mode 100644
index 0000000..cfa47a0
--- /dev/null
+++ b/modules/rudi/images/medals/ADSM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/AE-AMCM.jpg b/modules/rudi/images/medals/AE-AMCM.jpg
new file mode 100644
index 0000000..42ed6de
--- /dev/null
+++ b/modules/rudi/images/medals/AE-AMCM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/AGCM.jpg b/modules/rudi/images/medals/AGCM.jpg
new file mode 100644
index 0000000..81d1882
--- /dev/null
+++ b/modules/rudi/images/medals/AGCM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/BS.jpg b/modules/rudi/images/medals/BS.jpg
new file mode 100644
index 0000000..8dad4f4
--- /dev/null
+++ b/modules/rudi/images/medals/BS.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/DSC.jpg b/modules/rudi/images/medals/DSC.jpg
new file mode 100644
index 0000000..d84b801
--- /dev/null
+++ b/modules/rudi/images/medals/DSC.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/EAM.jpg b/modules/rudi/images/medals/EAM.jpg
new file mode 100644
index 0000000..ea0e4b6
--- /dev/null
+++ b/modules/rudi/images/medals/EAM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/EAMECM.jpg b/modules/rudi/images/medals/EAMECM.jpg
new file mode 100644
index 0000000..e7f3867
--- /dev/null
+++ b/modules/rudi/images/medals/EAMECM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/LOM.jpg b/modules/rudi/images/medals/LOM.jpg
new file mode 100644
index 0000000..5f6e8a3
--- /dev/null
+++ b/modules/rudi/images/medals/LOM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/MUC.jpg b/modules/rudi/images/medals/MUC.jpg
new file mode 100644
index 0000000..4567112
--- /dev/null
+++ b/modules/rudi/images/medals/MUC.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/PH.jpg b/modules/rudi/images/medals/PH.jpg
new file mode 100644
index 0000000..4375275
--- /dev/null
+++ b/modules/rudi/images/medals/PH.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/SM.jpg b/modules/rudi/images/medals/SM.jpg
new file mode 100644
index 0000000..09de8d0
--- /dev/null
+++ b/modules/rudi/images/medals/SM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/SS.jpg b/modules/rudi/images/medals/SS.jpg
new file mode 100644
index 0000000..d8599cf
--- /dev/null
+++ b/modules/rudi/images/medals/SS.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/WWIIAOM.jpg b/modules/rudi/images/medals/WWIIAOM.jpg
new file mode 100644
index 0000000..ff40ef8
--- /dev/null
+++ b/modules/rudi/images/medals/WWIIAOM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/WWIIVM.jpg b/modules/rudi/images/medals/WWIIVM.jpg
new file mode 100644
index 0000000..1256371
--- /dev/null
+++ b/modules/rudi/images/medals/WWIIVM.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/armedforcesservice.jpg b/modules/rudi/images/medals/armedforcesservice.jpg
new file mode 100644
index 0000000..14080b6
--- /dev/null
+++ b/modules/rudi/images/medals/armedforcesservice.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/armyachievement.jpg b/modules/rudi/images/medals/armyachievement.jpg
new file mode 100644
index 0000000..ed35298
--- /dev/null
+++ b/modules/rudi/images/medals/armyachievement.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/armycommendation.jpg b/modules/rudi/images/medals/armycommendation.jpg
new file mode 100644
index 0000000..20861e1
--- /dev/null
+++ b/modules/rudi/images/medals/armycommendation.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/armyservice.jpg b/modules/rudi/images/medals/armyservice.jpg
new file mode 100644
index 0000000..52d7cfe
--- /dev/null
+++ b/modules/rudi/images/medals/armyservice.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/bronzestar.jpg b/modules/rudi/images/medals/bronzestar.jpg
new file mode 100644
index 0000000..0cf5fa7
--- /dev/null
+++ b/modules/rudi/images/medals/bronzestar.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/cib1.gif b/modules/rudi/images/medals/cib1.gif
new file mode 100644
index 0000000..a9e01d6
--- /dev/null
+++ b/modules/rudi/images/medals/cib1.gif
Binary files differ
diff --git a/modules/rudi/images/medals/cib2.gif b/modules/rudi/images/medals/cib2.gif
new file mode 100644
index 0000000..258f909
--- /dev/null
+++ b/modules/rudi/images/medals/cib2.gif
Binary files differ
diff --git a/modules/rudi/images/medals/cib3.gif b/modules/rudi/images/medals/cib3.gif
new file mode 100644
index 0000000..c9ddbfc
--- /dev/null
+++ b/modules/rudi/images/medals/cib3.gif
Binary files differ
diff --git a/modules/rudi/images/medals/cib4.gif b/modules/rudi/images/medals/cib4.gif
new file mode 100644
index 0000000..4634756
--- /dev/null
+++ b/modules/rudi/images/medals/cib4.gif
Binary files differ
diff --git a/modules/rudi/images/medals/cod2duc.jpg b/modules/rudi/images/medals/cod2duc.jpg
new file mode 100644
index 0000000..099ca27
--- /dev/null
+++ b/modules/rudi/images/medals/cod2duc.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/cod4duc.jpg b/modules/rudi/images/medals/cod4duc.jpg
new file mode 100644
index 0000000..aad4498
--- /dev/null
+++ b/modules/rudi/images/medals/cod4duc.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/codduc.jpg b/modules/rudi/images/medals/codduc.jpg
new file mode 100644
index 0000000..566f81b
--- /dev/null
+++ b/modules/rudi/images/medals/codduc.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/drill_instructor_badge.gif b/modules/rudi/images/medals/drill_instructor_badge.gif
new file mode 100644
index 0000000..c7d7f83
--- /dev/null
+++ b/modules/rudi/images/medals/drill_instructor_badge.gif
Binary files differ
diff --git a/modules/rudi/images/medals/dsm.jpg b/modules/rudi/images/medals/dsm.jpg
new file mode 100644
index 0000000..b90e927
--- /dev/null
+++ b/modules/rudi/images/medals/dsm.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/esm.jpg b/modules/rudi/images/medals/esm.jpg
new file mode 100644
index 0000000..2dbbcca
--- /dev/null
+++ b/modules/rudi/images/medals/esm.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/exempattendance.jpg b/modules/rudi/images/medals/exempattendance.jpg
new file mode 100644
index 0000000..8b6354b
--- /dev/null
+++ b/modules/rudi/images/medals/exempattendance.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/goodconduct.jpg b/modules/rudi/images/medals/goodconduct.jpg
new file mode 100644
index 0000000..77277cd
--- /dev/null
+++ b/modules/rudi/images/medals/goodconduct.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/gwotem.jpg b/modules/rudi/images/medals/gwotem.jpg
new file mode 100644
index 0000000..e92cc80
--- /dev/null
+++ b/modules/rudi/images/medals/gwotem.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/gwotsm.jpg b/modules/rudi/images/medals/gwotsm.jpg
new file mode 100644
index 0000000..479ca32
--- /dev/null
+++ b/modules/rudi/images/medals/gwotsm.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/index.html-old b/modules/rudi/images/medals/index.html-old
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/medals/index.html-old
diff --git a/modules/rudi/images/medals/legionofmerit.jpg b/modules/rudi/images/medals/legionofmerit.jpg
new file mode 100644
index 0000000..2e52648
--- /dev/null
+++ b/modules/rudi/images/medals/legionofmerit.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/nationaldefense.jpg b/modules/rudi/images/medals/nationaldefense.jpg
new file mode 100644
index 0000000..8f96df8
--- /dev/null
+++ b/modules/rudi/images/medals/nationaldefense.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/ncoprofdev.jpg b/modules/rudi/images/medals/ncoprofdev.jpg
new file mode 100644
index 0000000..ea564ed
--- /dev/null
+++ b/modules/rudi/images/medals/ncoprofdev.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/oak_leaf_clusters.jpg b/modules/rudi/images/medals/oak_leaf_clusters.jpg
new file mode 100644
index 0000000..1927d46
--- /dev/null
+++ b/modules/rudi/images/medals/oak_leaf_clusters.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/purpleheart.jpg b/modules/rudi/images/medals/purpleheart.jpg
new file mode 100644
index 0000000..07cce39
--- /dev/null
+++ b/modules/rudi/images/medals/purpleheart.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/silverstar.jpg b/modules/rudi/images/medals/silverstar.jpg
new file mode 100644
index 0000000..60669f5
--- /dev/null
+++ b/modules/rudi/images/medals/silverstar.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/soldiers.jpg b/modules/rudi/images/medals/soldiers.jpg
new file mode 100644
index 0000000..5059ad2
--- /dev/null
+++ b/modules/rudi/images/medals/soldiers.jpg
Binary files differ
diff --git a/modules/rudi/images/medals/valor_device.png b/modules/rudi/images/medals/valor_device.png
new file mode 100644
index 0000000..533dde8
--- /dev/null
+++ b/modules/rudi/images/medals/valor_device.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/1LT.png b/modules/rudi/images/ranks/large/1LT.png
new file mode 100644
index 0000000..0e305c1
--- /dev/null
+++ b/modules/rudi/images/ranks/large/1LT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/1SG.png b/modules/rudi/images/ranks/large/1SG.png
new file mode 100644
index 0000000..9f0c0ee
--- /dev/null
+++ b/modules/rudi/images/ranks/large/1SG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/1stLT.gif b/modules/rudi/images/ranks/large/1stLT.gif
new file mode 100644
index 0000000..1f5ccce
--- /dev/null
+++ b/modules/rudi/images/ranks/large/1stLT.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/2LT.png b/modules/rudi/images/ranks/large/2LT.png
new file mode 100644
index 0000000..15a4fbf
--- /dev/null
+++ b/modules/rudi/images/ranks/large/2LT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/2ndLT.gif b/modules/rudi/images/ranks/large/2ndLT.gif
new file mode 100644
index 0000000..1762a51
--- /dev/null
+++ b/modules/rudi/images/ranks/large/2ndLT.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/CPL.png b/modules/rudi/images/ranks/large/CPL.png
new file mode 100644
index 0000000..f302179
--- /dev/null
+++ b/modules/rudi/images/ranks/large/CPL.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/CPT.png b/modules/rudi/images/ranks/large/CPT.png
new file mode 100644
index 0000000..33846a3
--- /dev/null
+++ b/modules/rudi/images/ranks/large/CPT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/CSM.png b/modules/rudi/images/ranks/large/CSM.png
new file mode 100644
index 0000000..62f557b
--- /dev/null
+++ b/modules/rudi/images/ranks/large/CSM.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/General.gif b/modules/rudi/images/ranks/large/General.gif
new file mode 100644
index 0000000..7983698
--- /dev/null
+++ b/modules/rudi/images/ranks/large/General.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/LTGeneral.gif b/modules/rudi/images/ranks/large/LTGeneral.gif
new file mode 100644
index 0000000..b8f8d7d
--- /dev/null
+++ b/modules/rudi/images/ranks/large/LTGeneral.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/MSG.png b/modules/rudi/images/ranks/large/MSG.png
new file mode 100644
index 0000000..fac8139
--- /dev/null
+++ b/modules/rudi/images/ranks/large/MSG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/MajorGeneral.gif b/modules/rudi/images/ranks/large/MajorGeneral.gif
new file mode 100644
index 0000000..2594e33
--- /dev/null
+++ b/modules/rudi/images/ranks/large/MajorGeneral.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/PFC.png b/modules/rudi/images/ranks/large/PFC.png
new file mode 100644
index 0000000..d8d8b5b
--- /dev/null
+++ b/modules/rudi/images/ranks/large/PFC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/PV2.png b/modules/rudi/images/ranks/large/PV2.png
new file mode 100644
index 0000000..7fcc4d8
--- /dev/null
+++ b/modules/rudi/images/ranks/large/PV2.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/PVT.gif b/modules/rudi/images/ranks/large/PVT.gif
new file mode 100644
index 0000000..ca1c11e
--- /dev/null
+++ b/modules/rudi/images/ranks/large/PVT.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/SFC.png b/modules/rudi/images/ranks/large/SFC.png
new file mode 100644
index 0000000..c23f3e8
--- /dev/null
+++ b/modules/rudi/images/ranks/large/SFC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/SGT.png b/modules/rudi/images/ranks/large/SGT.png
new file mode 100644
index 0000000..165e83c
--- /dev/null
+++ b/modules/rudi/images/ranks/large/SGT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/SMG.png b/modules/rudi/images/ranks/large/SMG.png
new file mode 100644
index 0000000..9cc03a2
--- /dev/null
+++ b/modules/rudi/images/ranks/large/SMG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/SPC.png b/modules/rudi/images/ranks/large/SPC.png
new file mode 100644
index 0000000..0f2446e
--- /dev/null
+++ b/modules/rudi/images/ranks/large/SPC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/SSG.png b/modules/rudi/images/ranks/large/SSG.png
new file mode 100644
index 0000000..e4eecd4
--- /dev/null
+++ b/modules/rudi/images/ranks/large/SSG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/large/brigadier.gif b/modules/rudi/images/ranks/large/brigadier.gif
new file mode 100644
index 0000000..cad7d7a
--- /dev/null
+++ b/modules/rudi/images/ranks/large/brigadier.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/captain.gif b/modules/rudi/images/ranks/large/captain.gif
new file mode 100644
index 0000000..c4e9142
--- /dev/null
+++ b/modules/rudi/images/ranks/large/captain.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/colonel.gif b/modules/rudi/images/ranks/large/colonel.gif
new file mode 100644
index 0000000..58dc613
--- /dev/null
+++ b/modules/rudi/images/ranks/large/colonel.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/index.html b/modules/rudi/images/ranks/large/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/ranks/large/index.html
diff --git a/modules/rudi/images/ranks/large/ltc.gif b/modules/rudi/images/ranks/large/ltc.gif
new file mode 100644
index 0000000..d18509e
--- /dev/null
+++ b/modules/rudi/images/ranks/large/ltc.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/large/major.gif b/modules/rudi/images/ranks/large/major.gif
new file mode 100644
index 0000000..761410c
--- /dev/null
+++ b/modules/rudi/images/ranks/large/major.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/1LT.png b/modules/rudi/images/ranks/small/1LT.png
new file mode 100644
index 0000000..247c57d
--- /dev/null
+++ b/modules/rudi/images/ranks/small/1LT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/1SG.png b/modules/rudi/images/ranks/small/1SG.png
new file mode 100644
index 0000000..f9d3f23
--- /dev/null
+++ b/modules/rudi/images/ranks/small/1SG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/2LT.png b/modules/rudi/images/ranks/small/2LT.png
new file mode 100644
index 0000000..79c03a8
--- /dev/null
+++ b/modules/rudi/images/ranks/small/2LT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/CPL.png b/modules/rudi/images/ranks/small/CPL.png
new file mode 100644
index 0000000..37d1bdd
--- /dev/null
+++ b/modules/rudi/images/ranks/small/CPL.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/CPT.png b/modules/rudi/images/ranks/small/CPT.png
new file mode 100644
index 0000000..c4c0034
--- /dev/null
+++ b/modules/rudi/images/ranks/small/CPT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/CSM.png b/modules/rudi/images/ranks/small/CSM.png
new file mode 100644
index 0000000..db19607
--- /dev/null
+++ b/modules/rudi/images/ranks/small/CSM.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/General.gif b/modules/rudi/images/ranks/small/General.gif
new file mode 100644
index 0000000..7983698
--- /dev/null
+++ b/modules/rudi/images/ranks/small/General.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/LtGeneral.gif b/modules/rudi/images/ranks/small/LtGeneral.gif
new file mode 100644
index 0000000..6bb0a80
--- /dev/null
+++ b/modules/rudi/images/ranks/small/LtGeneral.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/MSG.png b/modules/rudi/images/ranks/small/MSG.png
new file mode 100644
index 0000000..e84bde3
--- /dev/null
+++ b/modules/rudi/images/ranks/small/MSG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/MajorGeneral.gif b/modules/rudi/images/ranks/small/MajorGeneral.gif
new file mode 100644
index 0000000..ef18ea9
--- /dev/null
+++ b/modules/rudi/images/ranks/small/MajorGeneral.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/PFC.png b/modules/rudi/images/ranks/small/PFC.png
new file mode 100644
index 0000000..76b58c0
--- /dev/null
+++ b/modules/rudi/images/ranks/small/PFC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/PV2.png b/modules/rudi/images/ranks/small/PV2.png
new file mode 100644
index 0000000..1246d25
--- /dev/null
+++ b/modules/rudi/images/ranks/small/PV2.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/SFC.png b/modules/rudi/images/ranks/small/SFC.png
new file mode 100644
index 0000000..7e64830
--- /dev/null
+++ b/modules/rudi/images/ranks/small/SFC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/SGT.png b/modules/rudi/images/ranks/small/SGT.png
new file mode 100644
index 0000000..0411e49
--- /dev/null
+++ b/modules/rudi/images/ranks/small/SGT.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/SMG.png b/modules/rudi/images/ranks/small/SMG.png
new file mode 100644
index 0000000..e85d54a
--- /dev/null
+++ b/modules/rudi/images/ranks/small/SMG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/SPC.png b/modules/rudi/images/ranks/small/SPC.png
new file mode 100644
index 0000000..93ff59d
--- /dev/null
+++ b/modules/rudi/images/ranks/small/SPC.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/SSG.png b/modules/rudi/images/ranks/small/SSG.png
new file mode 100644
index 0000000..592fcb3
--- /dev/null
+++ b/modules/rudi/images/ranks/small/SSG.png
Binary files differ
diff --git a/modules/rudi/images/ranks/small/brigadier.gif b/modules/rudi/images/ranks/small/brigadier.gif
new file mode 100644
index 0000000..83e48c6
--- /dev/null
+++ b/modules/rudi/images/ranks/small/brigadier.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/index.html b/modules/rudi/images/ranks/small/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/ranks/small/index.html
diff --git a/modules/rudi/images/ranks/small/pvt.gif b/modules/rudi/images/ranks/small/pvt.gif
new file mode 100644
index 0000000..13a4916
--- /dev/null
+++ b/modules/rudi/images/ranks/small/pvt.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-1stlieutenant.gif b/modules/rudi/images/ranks/small/rank-1stlieutenant.gif
new file mode 100644
index 0000000..579223e
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-1stlieutenant.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-2ndlieutenant.gif b/modules/rudi/images/ranks/small/rank-2ndlieutenant.gif
new file mode 100644
index 0000000..84b23f1
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-2ndlieutenant.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-captain.gif b/modules/rudi/images/ranks/small/rank-captain.gif
new file mode 100644
index 0000000..1e6a620
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-captain.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-colonel.gif b/modules/rudi/images/ranks/small/rank-colonel.gif
new file mode 100644
index 0000000..870d2ff
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-colonel.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-ltcolonel.gif b/modules/rudi/images/ranks/small/rank-ltcolonel.gif
new file mode 100644
index 0000000..bfc5a79
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-ltcolonel.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-major.gif b/modules/rudi/images/ranks/small/rank-major.gif
new file mode 100644
index 0000000..c8e142d
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-major.gif
Binary files differ
diff --git a/modules/rudi/images/ranks/small/rank-private.gif b/modules/rudi/images/ranks/small/rank-private.gif
new file mode 100644
index 0000000..ca1c11e
--- /dev/null
+++ b/modules/rudi/images/ranks/small/rank-private.gif
Binary files differ
diff --git a/modules/rudi/images/uniform/ACoia.png b/modules/rudi/images/uniform/ACoia.png
new file mode 100644
index 0000000..0e70357
--- /dev/null
+++ b/modules/rudi/images/uniform/ACoia.png
Binary files differ
diff --git a/modules/rudi/images/uniform/BBell.png b/modules/rudi/images/uniform/BBell.png
new file mode 100644
index 0000000..a9bbac9
--- /dev/null
+++ b/modules/rudi/images/uniform/BBell.png
Binary files differ
diff --git a/modules/rudi/images/uniform/BChu.png b/modules/rudi/images/uniform/BChu.png
new file mode 100644
index 0000000..a7d5a5b
--- /dev/null
+++ b/modules/rudi/images/uniform/BChu.png
Binary files differ
diff --git a/modules/rudi/images/uniform/BLevine.png b/modules/rudi/images/uniform/BLevine.png
new file mode 100644
index 0000000..50accbe
--- /dev/null
+++ b/modules/rudi/images/uniform/BLevine.png
Binary files differ
diff --git a/modules/rudi/images/uniform/BSegal.png b/modules/rudi/images/uniform/BSegal.png
new file mode 100644
index 0000000..1c9c0f2
--- /dev/null
+++ b/modules/rudi/images/uniform/BSegal.png
Binary files differ
diff --git a/modules/rudi/images/uniform/DHolson.png b/modules/rudi/images/uniform/DHolson.png
new file mode 100644
index 0000000..b372cf5
--- /dev/null
+++ b/modules/rudi/images/uniform/DHolson.png
Binary files differ
diff --git a/modules/rudi/images/uniform/EOConnell.png b/modules/rudi/images/uniform/EOConnell.png
new file mode 100644
index 0000000..9e46bfd
--- /dev/null
+++ b/modules/rudi/images/uniform/EOConnell.png
Binary files differ
diff --git a/modules/rudi/images/uniform/GTownsend.png b/modules/rudi/images/uniform/GTownsend.png
new file mode 100644
index 0000000..6d6f314
--- /dev/null
+++ b/modules/rudi/images/uniform/GTownsend.png
Binary files differ
diff --git a/modules/rudi/images/uniform/IBailey.png b/modules/rudi/images/uniform/IBailey.png
new file mode 100644
index 0000000..c53fd52
--- /dev/null
+++ b/modules/rudi/images/uniform/IBailey.png
Binary files differ
diff --git a/modules/rudi/images/uniform/JBottheim.png b/modules/rudi/images/uniform/JBottheim.png
new file mode 100644
index 0000000..bd4b964
--- /dev/null
+++ b/modules/rudi/images/uniform/JBottheim.png
Binary files differ
diff --git a/modules/rudi/images/uniform/JHunkeler.png b/modules/rudi/images/uniform/JHunkeler.png
new file mode 100644
index 0000000..06a7dff
--- /dev/null
+++ b/modules/rudi/images/uniform/JHunkeler.png
Binary files differ
diff --git a/modules/rudi/images/uniform/JMelnyk.png b/modules/rudi/images/uniform/JMelnyk.png
new file mode 100644
index 0000000..111291c
--- /dev/null
+++ b/modules/rudi/images/uniform/JMelnyk.png
Binary files differ
diff --git a/modules/rudi/images/uniform/JRobinson.png b/modules/rudi/images/uniform/JRobinson.png
new file mode 100644
index 0000000..f06c78e
--- /dev/null
+++ b/modules/rudi/images/uniform/JRobinson.png
Binary files differ
diff --git a/modules/rudi/images/uniform/KGrimes.png b/modules/rudi/images/uniform/KGrimes.png
new file mode 100644
index 0000000..db03b87
--- /dev/null
+++ b/modules/rudi/images/uniform/KGrimes.png
Binary files differ
diff --git a/modules/rudi/images/uniform/KJohnson.png b/modules/rudi/images/uniform/KJohnson.png
new file mode 100644
index 0000000..496b9fd
--- /dev/null
+++ b/modules/rudi/images/uniform/KJohnson.png
Binary files differ
diff --git a/modules/rudi/images/uniform/LTrimble.png b/modules/rudi/images/uniform/LTrimble.png
new file mode 100644
index 0000000..3d8f2b6
--- /dev/null
+++ b/modules/rudi/images/uniform/LTrimble.png
Binary files differ
diff --git a/modules/rudi/images/uniform/MLula.png b/modules/rudi/images/uniform/MLula.png
new file mode 100644
index 0000000..a674bc2
--- /dev/null
+++ b/modules/rudi/images/uniform/MLula.png
Binary files differ
diff --git a/modules/rudi/images/uniform/MMark.png b/modules/rudi/images/uniform/MMark.png
new file mode 100644
index 0000000..ed5ae93
--- /dev/null
+++ b/modules/rudi/images/uniform/MMark.png
Binary files differ
diff --git a/modules/rudi/images/uniform/MMcClellan.png b/modules/rudi/images/uniform/MMcClellan.png
new file mode 100644
index 0000000..2e7f588
--- /dev/null
+++ b/modules/rudi/images/uniform/MMcClellan.png
Binary files differ
diff --git a/modules/rudi/images/uniform/NGiroux.png b/modules/rudi/images/uniform/NGiroux.png
new file mode 100644
index 0000000..599e39c
--- /dev/null
+++ b/modules/rudi/images/uniform/NGiroux.png
Binary files differ
diff --git a/modules/rudi/images/uniform/NMartini.png b/modules/rudi/images/uniform/NMartini.png
new file mode 100644
index 0000000..e0c15fd
--- /dev/null
+++ b/modules/rudi/images/uniform/NMartini.png
Binary files differ
diff --git a/modules/rudi/images/uniform/NPuckett.png b/modules/rudi/images/uniform/NPuckett.png
new file mode 100644
index 0000000..4d842c8
--- /dev/null
+++ b/modules/rudi/images/uniform/NPuckett.png
Binary files differ
diff --git a/modules/rudi/images/uniform/PBurris.png b/modules/rudi/images/uniform/PBurris.png
new file mode 100644
index 0000000..f64736d
--- /dev/null
+++ b/modules/rudi/images/uniform/PBurris.png
Binary files differ
diff --git a/modules/rudi/images/uniform/PPederson.png b/modules/rudi/images/uniform/PPederson.png
new file mode 100644
index 0000000..c5743f9
--- /dev/null
+++ b/modules/rudi/images/uniform/PPederson.png
Binary files differ
diff --git a/modules/rudi/images/uniform/RLeahy.png b/modules/rudi/images/uniform/RLeahy.png
new file mode 100644
index 0000000..1c36abf
--- /dev/null
+++ b/modules/rudi/images/uniform/RLeahy.png
Binary files differ
diff --git a/modules/rudi/images/uniform/RThomas.png b/modules/rudi/images/uniform/RThomas.png
new file mode 100644
index 0000000..8440cc6
--- /dev/null
+++ b/modules/rudi/images/uniform/RThomas.png
Binary files differ
diff --git a/modules/rudi/images/uniform/SCorsaro.png b/modules/rudi/images/uniform/SCorsaro.png
new file mode 100644
index 0000000..1895adf
--- /dev/null
+++ b/modules/rudi/images/uniform/SCorsaro.png
Binary files differ
diff --git a/modules/rudi/images/uniform/ZBarrett.png b/modules/rudi/images/uniform/ZBarrett.png
new file mode 100644
index 0000000..c9d106b
--- /dev/null
+++ b/modules/rudi/images/uniform/ZBarrett.png
Binary files differ
diff --git a/modules/rudi/images/uniform/bailey.jpg b/modules/rudi/images/uniform/bailey.jpg
new file mode 100644
index 0000000..bcb7bd4
--- /dev/null
+++ b/modules/rudi/images/uniform/bailey.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/barrett.jpg b/modules/rudi/images/uniform/barrett.jpg
new file mode 100644
index 0000000..5d48cf0
--- /dev/null
+++ b/modules/rudi/images/uniform/barrett.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/bell.jpg b/modules/rudi/images/uniform/bell.jpg
new file mode 100644
index 0000000..e3e44c5
--- /dev/null
+++ b/modules/rudi/images/uniform/bell.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/blackburn.jpg b/modules/rudi/images/uniform/blackburn.jpg
new file mode 100644
index 0000000..1b96091
--- /dev/null
+++ b/modules/rudi/images/uniform/blackburn.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/blanchette.jpg b/modules/rudi/images/uniform/blanchette.jpg
new file mode 100644
index 0000000..4a007c2
--- /dev/null
+++ b/modules/rudi/images/uniform/blanchette.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/bottheim.jpg b/modules/rudi/images/uniform/bottheim.jpg
new file mode 100644
index 0000000..924cc75
--- /dev/null
+++ b/modules/rudi/images/uniform/bottheim.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/brooks.jpg b/modules/rudi/images/uniform/brooks.jpg
new file mode 100644
index 0000000..05de36e
--- /dev/null
+++ b/modules/rudi/images/uniform/brooks.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/brown.jpg b/modules/rudi/images/uniform/brown.jpg
new file mode 100644
index 0000000..28e32ef
--- /dev/null
+++ b/modules/rudi/images/uniform/brown.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/burris copy.jpg b/modules/rudi/images/uniform/burris copy.jpg
new file mode 100644
index 0000000..edc6aba
--- /dev/null
+++ b/modules/rudi/images/uniform/burris copy.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/burris.jpg b/modules/rudi/images/uniform/burris.jpg
new file mode 100644
index 0000000..d56c1ae
--- /dev/null
+++ b/modules/rudi/images/uniform/burris.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/bursik.jpg b/modules/rudi/images/uniform/bursik.jpg
new file mode 100644
index 0000000..e4b69a3
--- /dev/null
+++ b/modules/rudi/images/uniform/bursik.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/chu.jpg b/modules/rudi/images/uniform/chu.jpg
new file mode 100644
index 0000000..f548952
--- /dev/null
+++ b/modules/rudi/images/uniform/chu.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/clark.jpg b/modules/rudi/images/uniform/clark.jpg
new file mode 100644
index 0000000..35febd8
--- /dev/null
+++ b/modules/rudi/images/uniform/clark.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/clayton.jpg b/modules/rudi/images/uniform/clayton.jpg
new file mode 100644
index 0000000..87e96b0
--- /dev/null
+++ b/modules/rudi/images/uniform/clayton.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/cooke.jpg b/modules/rudi/images/uniform/cooke.jpg
new file mode 100644
index 0000000..210ef92
--- /dev/null
+++ b/modules/rudi/images/uniform/cooke.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/corsaro.jpg b/modules/rudi/images/uniform/corsaro.jpg
new file mode 100644
index 0000000..d3f084a
--- /dev/null
+++ b/modules/rudi/images/uniform/corsaro.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/cpl.jpg b/modules/rudi/images/uniform/cpl.jpg
new file mode 100644
index 0000000..22c7d84
--- /dev/null
+++ b/modules/rudi/images/uniform/cpl.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/dalia.jpg b/modules/rudi/images/uniform/dalia.jpg
new file mode 100644
index 0000000..8e762c7
--- /dev/null
+++ b/modules/rudi/images/uniform/dalia.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/ditzel.jpg b/modules/rudi/images/uniform/ditzel.jpg
new file mode 100644
index 0000000..7b104dc
--- /dev/null
+++ b/modules/rudi/images/uniform/ditzel.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/donovan.jpg b/modules/rudi/images/uniform/donovan.jpg
new file mode 100644
index 0000000..5102f3c
--- /dev/null
+++ b/modules/rudi/images/uniform/donovan.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/dubin.jpg b/modules/rudi/images/uniform/dubin.jpg
new file mode 100644
index 0000000..ce7313a
--- /dev/null
+++ b/modules/rudi/images/uniform/dubin.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/duvall.jpg b/modules/rudi/images/uniform/duvall.jpg
new file mode 100644
index 0000000..586080b
--- /dev/null
+++ b/modules/rudi/images/uniform/duvall.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/enlisted.jpg b/modules/rudi/images/uniform/enlisted.jpg
new file mode 100644
index 0000000..2007e07
--- /dev/null
+++ b/modules/rudi/images/uniform/enlisted.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/freeman.jpg b/modules/rudi/images/uniform/freeman.jpg
new file mode 100644
index 0000000..4462f88
--- /dev/null
+++ b/modules/rudi/images/uniform/freeman.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/frey.jpg b/modules/rudi/images/uniform/frey.jpg
new file mode 100644
index 0000000..d5e9253
--- /dev/null
+++ b/modules/rudi/images/uniform/frey.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/fsgt.jpg b/modules/rudi/images/uniform/fsgt.jpg
new file mode 100644
index 0000000..91f915e
--- /dev/null
+++ b/modules/rudi/images/uniform/fsgt.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/gaskin.jpg b/modules/rudi/images/uniform/gaskin.jpg
new file mode 100644
index 0000000..2638bca
--- /dev/null
+++ b/modules/rudi/images/uniform/gaskin.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/geary.jpg b/modules/rudi/images/uniform/geary.jpg
new file mode 100644
index 0000000..de111e6
--- /dev/null
+++ b/modules/rudi/images/uniform/geary.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/giles.jpg b/modules/rudi/images/uniform/giles.jpg
new file mode 100644
index 0000000..7b179ba
--- /dev/null
+++ b/modules/rudi/images/uniform/giles.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/giroux.jpg b/modules/rudi/images/uniform/giroux.jpg
new file mode 100644
index 0000000..1e652d7
--- /dev/null
+++ b/modules/rudi/images/uniform/giroux.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/goodrich.jpg b/modules/rudi/images/uniform/goodrich.jpg
new file mode 100644
index 0000000..2804e1f
--- /dev/null
+++ b/modules/rudi/images/uniform/goodrich.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/gwizdala.jpg b/modules/rudi/images/uniform/gwizdala.jpg
new file mode 100644
index 0000000..0cafe8f
--- /dev/null
+++ b/modules/rudi/images/uniform/gwizdala.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/hallock.jpg b/modules/rudi/images/uniform/hallock.jpg
new file mode 100644
index 0000000..851c9b4
--- /dev/null
+++ b/modules/rudi/images/uniform/hallock.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/higgins.jpg b/modules/rudi/images/uniform/higgins.jpg
new file mode 100644
index 0000000..ae4b7f4
--- /dev/null
+++ b/modules/rudi/images/uniform/higgins.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/holson.jpg b/modules/rudi/images/uniform/holson.jpg
new file mode 100644
index 0000000..58c6d49
--- /dev/null
+++ b/modules/rudi/images/uniform/holson.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/hornung.jpg b/modules/rudi/images/uniform/hornung.jpg
new file mode 100644
index 0000000..3964634
--- /dev/null
+++ b/modules/rudi/images/uniform/hornung.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/hunkeler.jpg b/modules/rudi/images/uniform/hunkeler.jpg
new file mode 100644
index 0000000..2775fc5
--- /dev/null
+++ b/modules/rudi/images/uniform/hunkeler.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/index.html b/modules/rudi/images/uniform/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/uniform/index.html
diff --git a/modules/rudi/images/uniform/jimenez.jpg b/modules/rudi/images/uniform/jimenez.jpg
new file mode 100644
index 0000000..1081c71
--- /dev/null
+++ b/modules/rudi/images/uniform/jimenez.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/kenkel.jpg b/modules/rudi/images/uniform/kenkel.jpg
new file mode 100644
index 0000000..cfaccf9
--- /dev/null
+++ b/modules/rudi/images/uniform/kenkel.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/killian.jpg b/modules/rudi/images/uniform/killian.jpg
new file mode 100644
index 0000000..d8940e0
--- /dev/null
+++ b/modules/rudi/images/uniform/killian.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/leahy.jpg b/modules/rudi/images/uniform/leahy.jpg
new file mode 100644
index 0000000..5049a76
--- /dev/null
+++ b/modules/rudi/images/uniform/leahy.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/levine.jpg b/modules/rudi/images/uniform/levine.jpg
new file mode 100644
index 0000000..3910fdb
--- /dev/null
+++ b/modules/rudi/images/uniform/levine.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/litton.jpg b/modules/rudi/images/uniform/litton.jpg
new file mode 100644
index 0000000..788bd92
--- /dev/null
+++ b/modules/rudi/images/uniform/litton.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/luker.jpg b/modules/rudi/images/uniform/luker.jpg
new file mode 100644
index 0000000..9c5f723
--- /dev/null
+++ b/modules/rudi/images/uniform/luker.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/lula.jpg b/modules/rudi/images/uniform/lula.jpg
new file mode 100644
index 0000000..a16024a
--- /dev/null
+++ b/modules/rudi/images/uniform/lula.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/madden.jpg b/modules/rudi/images/uniform/madden.jpg
new file mode 100644
index 0000000..2802c01
--- /dev/null
+++ b/modules/rudi/images/uniform/madden.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/manary.jpg b/modules/rudi/images/uniform/manary.jpg
new file mode 100644
index 0000000..921fc43
--- /dev/null
+++ b/modules/rudi/images/uniform/manary.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/mark.jpg b/modules/rudi/images/uniform/mark.jpg
new file mode 100644
index 0000000..beda1b6
--- /dev/null
+++ b/modules/rudi/images/uniform/mark.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/mcclellan.jpg b/modules/rudi/images/uniform/mcclellan.jpg
new file mode 100644
index 0000000..54ba5aa
--- /dev/null
+++ b/modules/rudi/images/uniform/mcclellan.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/mirman.jpg b/modules/rudi/images/uniform/mirman.jpg
new file mode 100644
index 0000000..8b5eb57
--- /dev/null
+++ b/modules/rudi/images/uniform/mirman.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/moncayo.jpg b/modules/rudi/images/uniform/moncayo.jpg
new file mode 100644
index 0000000..659465b
--- /dev/null
+++ b/modules/rudi/images/uniform/moncayo.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/nowlan.jpg b/modules/rudi/images/uniform/nowlan.jpg
new file mode 100644
index 0000000..73a26cd
--- /dev/null
+++ b/modules/rudi/images/uniform/nowlan.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/oconnell.jpg b/modules/rudi/images/uniform/oconnell.jpg
new file mode 100644
index 0000000..2d06f7e
--- /dev/null
+++ b/modules/rudi/images/uniform/oconnell.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/officer.jpg b/modules/rudi/images/uniform/officer.jpg
new file mode 100644
index 0000000..610f869
--- /dev/null
+++ b/modules/rudi/images/uniform/officer.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/officer1.jpg b/modules/rudi/images/uniform/officer1.jpg
new file mode 100644
index 0000000..cef96ee
--- /dev/null
+++ b/modules/rudi/images/uniform/officer1.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/papp.jpg b/modules/rudi/images/uniform/papp.jpg
new file mode 100644
index 0000000..7aa8507
--- /dev/null
+++ b/modules/rudi/images/uniform/papp.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/patterson.jpg b/modules/rudi/images/uniform/patterson.jpg
new file mode 100644
index 0000000..67b10f2
--- /dev/null
+++ b/modules/rudi/images/uniform/patterson.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/pfc.jpg b/modules/rudi/images/uniform/pfc.jpg
new file mode 100644
index 0000000..65f5156
--- /dev/null
+++ b/modules/rudi/images/uniform/pfc.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/pfc3service copy.jpg b/modules/rudi/images/uniform/pfc3service copy.jpg
new file mode 100644
index 0000000..d87f6ec
--- /dev/null
+++ b/modules/rudi/images/uniform/pfc3service copy.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/poole.jpg b/modules/rudi/images/uniform/poole.jpg
new file mode 100644
index 0000000..e3bbb99
--- /dev/null
+++ b/modules/rudi/images/uniform/poole.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/puckett.jpg b/modules/rudi/images/uniform/puckett.jpg
new file mode 100644
index 0000000..3df29db
--- /dev/null
+++ b/modules/rudi/images/uniform/puckett.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/pvt.jpg b/modules/rudi/images/uniform/pvt.jpg
new file mode 100644
index 0000000..11a23be
--- /dev/null
+++ b/modules/rudi/images/uniform/pvt.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/schneider.jpg b/modules/rudi/images/uniform/schneider.jpg
new file mode 100644
index 0000000..bd18cdf
--- /dev/null
+++ b/modules/rudi/images/uniform/schneider.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/scott.jpg b/modules/rudi/images/uniform/scott.jpg
new file mode 100644
index 0000000..e0dc4d6
--- /dev/null
+++ b/modules/rudi/images/uniform/scott.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/segal.jpg b/modules/rudi/images/uniform/segal.jpg
new file mode 100644
index 0000000..e225f83
--- /dev/null
+++ b/modules/rudi/images/uniform/segal.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/severyns.jpg b/modules/rudi/images/uniform/severyns.jpg
new file mode 100644
index 0000000..3778874
--- /dev/null
+++ b/modules/rudi/images/uniform/severyns.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/sgt.jpg b/modules/rudi/images/uniform/sgt.jpg
new file mode 100644
index 0000000..2dd8f0a
--- /dev/null
+++ b/modules/rudi/images/uniform/sgt.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/sokolowski.jpg b/modules/rudi/images/uniform/sokolowski.jpg
new file mode 100644
index 0000000..139b1fc
--- /dev/null
+++ b/modules/rudi/images/uniform/sokolowski.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/sosa.jpg b/modules/rudi/images/uniform/sosa.jpg
new file mode 100644
index 0000000..faec3bb
--- /dev/null
+++ b/modules/rudi/images/uniform/sosa.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/ssgt.jpg b/modules/rudi/images/uniform/ssgt.jpg
new file mode 100644
index 0000000..bca0043
--- /dev/null
+++ b/modules/rudi/images/uniform/ssgt.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/test.gif b/modules/rudi/images/uniform/test.gif
new file mode 100644
index 0000000..11f342b
--- /dev/null
+++ b/modules/rudi/images/uniform/test.gif
Binary files differ
diff --git a/modules/rudi/images/uniform/test_enlisted.jpg b/modules/rudi/images/uniform/test_enlisted.jpg
new file mode 100644
index 0000000..3462978
--- /dev/null
+++ b/modules/rudi/images/uniform/test_enlisted.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/thomas.jpg b/modules/rudi/images/uniform/thomas.jpg
new file mode 100644
index 0000000..6aae1f2
--- /dev/null
+++ b/modules/rudi/images/uniform/thomas.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/townsend.jpg b/modules/rudi/images/uniform/townsend.jpg
new file mode 100644
index 0000000..9f5aa7c
--- /dev/null
+++ b/modules/rudi/images/uniform/townsend.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/townsend_OLD.jpg b/modules/rudi/images/uniform/townsend_OLD.jpg
new file mode 100644
index 0000000..297996e
--- /dev/null
+++ b/modules/rudi/images/uniform/townsend_OLD.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/trimble.jpg b/modules/rudi/images/uniform/trimble.jpg
new file mode 100644
index 0000000..4120e02
--- /dev/null
+++ b/modules/rudi/images/uniform/trimble.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/whiting.jpg b/modules/rudi/images/uniform/whiting.jpg
new file mode 100644
index 0000000..75a009b
--- /dev/null
+++ b/modules/rudi/images/uniform/whiting.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/williams.jpg b/modules/rudi/images/uniform/williams.jpg
new file mode 100644
index 0000000..016f082
--- /dev/null
+++ b/modules/rudi/images/uniform/williams.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/wubbena.jpg b/modules/rudi/images/uniform/wubbena.jpg
new file mode 100644
index 0000000..ab77965
--- /dev/null
+++ b/modules/rudi/images/uniform/wubbena.jpg
Binary files differ
diff --git a/modules/rudi/images/uniform/young.jpg b/modules/rudi/images/uniform/young.jpg
new file mode 100644
index 0000000..9d08f83
--- /dev/null
+++ b/modules/rudi/images/uniform/young.jpg
Binary files differ
diff --git a/modules/rudi/images/units/2ndPlatoon.gif b/modules/rudi/images/units/2ndPlatoon.gif
new file mode 100644
index 0000000..e42b0e6
--- /dev/null
+++ b/modules/rudi/images/units/2ndPlatoon.gif
Binary files differ
diff --git a/modules/rudi/images/units/BCT.jpg b/modules/rudi/images/units/BCT.jpg
new file mode 100644
index 0000000..d667f5d
--- /dev/null
+++ b/modules/rudi/images/units/BCT.jpg
Binary files differ
diff --git a/modules/rudi/images/units/HQ.gif b/modules/rudi/images/units/HQ.gif
new file mode 100644
index 0000000..741d389
--- /dev/null
+++ b/modules/rudi/images/units/HQ.gif
Binary files differ
diff --git a/modules/rudi/images/units/index.html b/modules/rudi/images/units/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/units/index.html
diff --git a/modules/rudi/images/units/rocky.gif b/modules/rudi/images/units/rocky.gif
new file mode 100644
index 0000000..8aefa39
--- /dev/null
+++ b/modules/rudi/images/units/rocky.gif
Binary files differ
diff --git a/modules/rudi/images/weapons/M16a4.jpg b/modules/rudi/images/weapons/M16a4.jpg
new file mode 100644
index 0000000..44a1323
--- /dev/null
+++ b/modules/rudi/images/weapons/M16a4.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/M203-1.jpg b/modules/rudi/images/weapons/M203-1.jpg
new file mode 100644
index 0000000..2deaadb
--- /dev/null
+++ b/modules/rudi/images/weapons/M203-1.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/M21.jpg b/modules/rudi/images/weapons/M21.jpg
new file mode 100644
index 0000000..ffa1a92
--- /dev/null
+++ b/modules/rudi/images/weapons/M21.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/M249.jpg b/modules/rudi/images/weapons/M249.jpg
new file mode 100644
index 0000000..72bac7c
--- /dev/null
+++ b/modules/rudi/images/weapons/M249.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/M9.jpg b/modules/rudi/images/weapons/M9.jpg
new file mode 100644
index 0000000..21434c0
--- /dev/null
+++ b/modules/rudi/images/weapons/M9.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/USP.jpg b/modules/rudi/images/weapons/USP.jpg
new file mode 100644
index 0000000..43b3d64
--- /dev/null
+++ b/modules/rudi/images/weapons/USP.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/index.html b/modules/rudi/images/weapons/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/images/weapons/index.html
diff --git a/modules/rudi/images/weapons/m14.jpg b/modules/rudi/images/weapons/m14.jpg
new file mode 100644
index 0000000..b04c3c1
--- /dev/null
+++ b/modules/rudi/images/weapons/m14.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/m40a3.jpg b/modules/rudi/images/weapons/m40a3.jpg
new file mode 100644
index 0000000..ca8966e
--- /dev/null
+++ b/modules/rudi/images/weapons/m40a3.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/m4a1.jpg b/modules/rudi/images/weapons/m4a1.jpg
new file mode 100644
index 0000000..5b52fa4
--- /dev/null
+++ b/modules/rudi/images/weapons/m4a1.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/m67-grenade.jpg b/modules/rudi/images/weapons/m67-grenade.jpg
new file mode 100644
index 0000000..5e40c8c
--- /dev/null
+++ b/modules/rudi/images/weapons/m67-grenade.jpg
Binary files differ
diff --git a/modules/rudi/images/weapons/m84.jpg b/modules/rudi/images/weapons/m84.jpg
new file mode 100644
index 0000000..6f8ae31
--- /dev/null
+++ b/modules/rudi/images/weapons/m84.jpg
Binary files differ
diff --git a/modules/rudi/includes/common.class.php b/modules/rudi/includes/common.class.php
new file mode 100644
index 0000000..7436863
--- /dev/null
+++ b/modules/rudi/includes/common.class.php
@@ -0,0 +1,801 @@
+<?php
+
+define('RUDI_PROFILE_SMALL', true);
+define('RUDI_PROFILE_BIG', false);
+
+class Soldier
+{
+ public function __construct()
+ {
+ decho("Constructing " . get_class($this));
+ }
+
+ public function __destruct()
+ {
+ decho("Destructing " . get_class($this));
+ }
+}
+
+class Award
+{
+ public function __construct()
+ {
+ decho("Constructing " . get_class($this));
+ }
+
+ public function __destruct()
+ {
+ decho("Destructing " . get_class($this));
+ }
+
+ public function __toString()
+ {
+ return $this->name;
+ }
+}
+
+class AwardClass
+{
+ public function __construct()
+ {
+ decho("Constructing " . get_class($this));
+ }
+
+ public function __destruct()
+ {
+ decho("Destructing " . get_class($this));
+ }
+
+ public function __toString()
+ {
+ return $this->name;
+ }
+}
+
+class Rank
+{
+ public function __construct()
+ {
+ decho("Constructing " . get_class($this));
+ }
+
+ public function __destruct()
+ {
+ decho("Destructing " . get_class($this));
+ }
+
+ public function __toString()
+ {
+ return $this->longname;
+ }
+}
+
+class Drill
+{
+ public function __construct()
+ {
+ decho("Constructing " . get_class($this));
+ }
+
+ public function __destruct()
+ {
+ decho("Destructing " . get_class($this));
+ }
+
+ public function __toString()
+ {
+ return $this->date;
+ }
+}
+
+/**
+ * does Stat actually need to exist?
+ */
+class Stat
+{
+
+}
+
+class RUDI_Common
+{
+ protected static $db, $link;
+ protected $images_path;
+ public $data;
+
+ public function __construct()
+ {
+ global $config;
+ $this->images_path = $config['rudi']['images_path'];
+ $this->db = new Bayonet_SQL();
+ $this->link = $this->db->Connect($config['sql']['hostname'], $config['sql']['username'], $config['sql']['password']);
+ $this->db->Select_db('thirdid_oc');
+ }
+
+ public function __destruct()
+ {
+
+ }
+
+ /**
+ * RUDI_SoldierProfile::date_diff()
+ *
+ * This was posted by stoicnluv@gmail.com at php.net.
+ * This function is assumed to be public domain source code.
+ *
+ * @param mixed $d1
+ * @param mixed $d2
+ * @return
+ */
+ private function date_diff($d1, $d2){
+ $d1 = (is_string($d1) ? strtotime($d1) : $d1);
+ $d2 = (is_string($d2) ? strtotime($d2) : $d2);
+
+ $diff_secs = abs($d1 - $d2);
+ $base_year = min(date("Y", $d1), date("Y", $d2));
+
+ $diff = mktime(0, 0, $diff_secs, 1, 1, $base_year);
+ return array(
+ "years" => date("Y", $diff) - $base_year,
+ "months_total" => (date("Y", $diff) - $base_year) * 12 + date("n", $diff) - 1,
+ "months" => date("n", $diff) - 1,
+ "days_total" => floor($diff_secs / (3600 * 24)),
+ "days" => date("j", $diff) - 1,
+ "hours_total" => floor($diff_secs / 3600),
+ "hours" => date("G", $diff),
+ "minutes_total" => floor($diff_secs / 60),
+ "minutes" => (int) date("i", $diff),
+ "seconds_total" => $diff_secs,
+ "seconds" => (int) date("s", $diff)
+ );
+ }
+
+ /**
+ * RUDI_SoldierProfile::getDiffTime()
+ *
+ * @param mixed $date
+ * @return
+ */
+ protected function getDiffTime($date, $recent = NULL)
+ {
+ if($recent == NULL)
+ {
+ $recent = time();
+ }
+
+ $test = $this->date_diff($date, $recent);
+ $y_mod = NULL;
+ $m_mod = NULL;
+ $d_mod = NULL;
+
+ if($test['years'] > 1)
+ $y_mod = 's';
+ if($test['months'] > 1)
+ $m_mod = 's';
+ if($test['days'] > 1 && $test['days'] < 1)
+ $d_mod = 's';
+
+ if($test['years'] < 1 && $test['months'] < 1)
+ {
+ return '['. $test['days'] .'] Day' . $d_mod . ' ';
+ }
+ /* This code does not work properly under certain conditions
+ * therefore it is commented, but left for prosterity's sake.
+ elseif($test['days'] < 1)
+ {
+ return 'Less than a day';
+ }*/
+ else
+ {
+ return '[' . $test['years'] . '] Year' . $y_mod . ' [' . $test['months'] . '] Month' . $m_mod . ' ';
+ }
+ }
+
+ protected function evalData($data)
+ {
+ return $data ? $data : "N/A";
+ }
+
+ protected function getCumulativeStats()
+ {
+ //$stats = array();
+ $result = $this->db->Query("SELECT platoon_id AS id, name FROM rudi_platoons");
+ $stats['platoon'] = mysql_num_rows($result);
+ $result = $this->db->Query("SELECT squad_id AS id, name FROM rudi_squads");
+ $stats['squad'] = mysql_num_rows($result);
+
+ decho($stats['platoon']);
+ decho($stats['squad']);
+ $this->db->Free($result);
+
+ return $stats;
+ }
+
+ protected function getMembersOfPlatoon($id)
+ {
+ $id = mysql_escape_string($id);
+ $result = $this->db->Query("SELECT platoon_id AS id FROM rudi_unit_members WHERE platoon_id = '$id'");
+ $members = mysql_num_rows($result);
+
+ return (int)$members;
+ }
+
+ protected function getMembersOfSquad($id)
+ {
+ $id = mysql_escape_string($id);
+ $result = $this->db->Query("SELECT squad_id AS id FROM rudi_unit_members WHERE squad_id = '$id'");
+ $members = mysql_num_rows($result);
+
+ return (int)$members;
+ }
+
+ protected function getSquadMembers($squad_id)
+ {
+ //$squad_id = addslashes($squad_id);
+ $squad_id = mysql_escape_string($id);
+ $result = $this->db->Query("SELECT m.last_name,
+ m.first_name,
+ r.shortname AS rank_short
+ FROM rudi_unit_members AS m
+ LEFT OUTER JOIN rudi_ranks AS r ON r.rank_id = m.rank_id WHERE m.squad_id = '$squad_id' ORDER BY m.rank_id ");
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getRoles()
+ *
+ * @param mixed $member_id
+ * @param mixed $rank_id
+ * @return
+ */
+ protected function getRoles($member_id, $rank_id)
+ {
+ $member_id = mysql_escape_string($member_id);
+ $query =
+ "SELECT r.role_id, "
+ ."r.name AS role_name "
+ ."FROM rudi_roles AS r "
+ ."LEFT OUTER JOIN rudi_roles_container AS rl ON rl.role_id = r.role_id "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = rl.member_id "
+ ."WHERE m.member_id = '$member_id' ORDER BY r.name ASC";
+
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /*
+ protected function getRoles($member_id, $rank_id)
+ {
+ $query = sprintf(
+ "SELECT r.role_id, "
+ ."r.name AS role_name, "
+ ."c.name AS class_name "
+ ."FROM rudi_classes AS c "
+ ."RIGHT OUTER JOIN rudi_roles AS r ON r.member_id = '%d' "
+ ."LEFT OUTER JOIN rudi_ranks AS a ON a.class_id = c.class_id "
+ ."WHERE a.rank_id = '%d' ORDER BY r.name ASC",
+ mysql_real_escape_string($member_id),
+ mysql_real_escape_string($rank_id)
+ );
+
+// $result = $this->db->Query($query);
+// $data = $this->db->FetchObject($result,'Soldier');
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+ */
+
+ //NOT FINISHED :( :(
+ /**
+ * RUDI_Core::getServiceRecord()
+ *
+ * @param mixed $member_id
+ * @return
+ */
+ protected function getServiceRecord($member_id)
+ {
+ $data = NULL;
+ $query = sprintf(
+ "SELECT r.record_id, r.date_added, r.record_note "
+ ."FROM rudi_service_record AS r "
+ ."LEFT OUTER JOIN rudi_unit_members AS m ON m.member_id = r.member_id "
+ ."WHERE r.member_id = '%d' ORDER BY r.date_added DESC",
+ mysql_real_escape_string($member_id));
+
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getAwardRecord()
+ *
+ * @param mixed $member_id
+ * @return
+ */
+ protected function getAwardRecord($member_id)
+ {
+ $data = NULL;
+ $query = sprintf(
+ "SELECT r.award_id, r.date_added, r.record_note, a.name AS award_name, a.image "
+ ."FROM rudi_award_record AS r "
+ ."RIGHT OUTER JOIN rudi_awards AS a ON a.award_id = r.award_id "
+ ."LEFT OUTER JOIN rudi_unit_members AS m ON m.member_id = r.member_id "
+ ."WHERE r.member_id = '%d' ORDER BY r.date_added DESC ",
+ mysql_real_escape_string($member_id));
+
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getCombatRecord()
+ *
+ * @param mixed $member_id
+ * @return
+ */
+ protected function getCombatRecord($member_id)
+ {
+ $data = NULL;
+ $query = sprintf(
+ "SELECT c.date, c.status, u1.name, u1.website, u.war_id "
+ ."FROM rudi_combat_record AS c "
+ ."RIGHT OUTER JOIN rudi_war_stats AS u ON u.visit_unit_id = c.visitor_id "
+ ."RIGHT OUTER JOIN rudi_war_units AS u1 ON u1.name "
+ ."LEFT OUTER JOIN rudi_unit_members AS m ON m.member_id = c.member_id "
+ ."WHERE c.member_id = '%d' ORDER BY c.date DESC ",
+ mysql_real_escape_string($member_id));
+
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSuperiorUnit()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getSuperiorUnit($id)
+ {
+ $query = sprintf(
+ "SELECT leader_id, "
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name "
+ ."FROM rudi_units AS u "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = u.leader_id "
+ ."WHERE u.unit_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSuperiorPlatoon()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getSuperiorPlatoon($id)
+ {
+ $query = sprintf(
+ "SELECT leader_id, "
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name "
+ ."FROM rudi_platoons AS p "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = p.leader_id "
+ ."WHERE p.platoon_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSuperiorSquad()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getSuperiorSquad($id)
+ {
+ $query = sprintf(
+ "SELECT leader_id, "
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name "
+ ."FROM rudi_squads AS s "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = s.leader_id "
+ ."WHERE s.squad_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSuperiorTeam()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getSuperiorTeam($id)
+ {
+ $query = sprintf(
+ "SELECT leader_id, "
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name "
+ ."FROM rudi_teams AS t "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = t.leader_id "
+ ."WHERE t.team_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSuperiorTrue()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getSuperiorTrue($id)
+ {
+ $superior =& $this->data[$id]->superior; //Reference only the data we need to use
+ $name =& $this->data[$id]->name;
+ $leader = NULL; //Set the return value to null
+
+ /** If the data is not null/empty, and is not equaled to the member's name
+ * (to avoid leaders from leading themself) then return the next leader in line.
+ */
+
+ foreach($superior as $tier => $value)
+ {
+ //$tier is 'unit','platoon','squad','team'
+ //$value is the array underneath that has 'name', and 'leader_id'
+
+ if(!empty($value->name) && $value->name != $name)
+ $leader = $value;
+
+ }
+
+ return $leader;
+ }
+
+ /**
+ * RUDI_Core::getUnit()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getRosterUnit($id)
+ {
+ $query = sprintf(
+ "SELECT name "
+ ."FROM rudi_units AS u "
+ ."LEFT OUTER JOIN rudi_unit_members AS m ON m.unit_id = u.unit_id "
+ ."WHERE m.member_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getPlatoon()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getRosterPlatoon($id)
+ {
+ $query = sprintf(
+ "SELECT name "
+ ."FROM rudi_platoons AS p "
+ ."LEFT OUTER JOIN rudi_unit_members AS m ON m.platoon_id = p.platoon_id "
+ ."WHERE m.member_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getSquad()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getRosterSquad($id)
+ {
+ $query = sprintf(
+ "SELECT last_name "
+ ."FROM rudi_unit_members AS m "
+ ."WHERE m.squad_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+
+ return $data;
+ }
+
+ /**
+ * RUDI_Core::getTeam()
+ *
+ * @param mixed $id
+ * @return
+ */
+ protected function getRosterTeam($id)
+ {
+ $query = sprintf(
+ "SELECT leader_id, "
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name "
+ ."FROM rudi_teams AS t "
+ ."RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = t.leader_id "
+ ."WHERE t.team_id = '%d' ",
+ mysql_real_escape_string($id));
+
+ $result = $this->db->Query($query);
+ $data = $this->db->FetchObject($result,'Soldier');
+
+ return $data;
+ }
+
+ public function Update($query_t = RUDI_PROFILE_BIG)
+ {
+ $id = NULL;
+ if(isset($_GET['profile']))
+ {
+ $id = addslashes($_GET['profile']);
+ decho("Update() ID: $id");
+ }
+
+ if($query_t != RUDI_PROFILE_SMALL)
+ {
+ $sql =
+ "SELECT "
+ ."m.email, "
+ ."m.xfire, "
+ ."m.first_name, "
+ ."m.last_name, "
+ ."m.member_id, "
+ ."m.status_id, "
+ ."m.bio, "
+ ."m.image AS member_image, "
+ ."m.location_city, "
+ ."m.location_province, "
+ ."r.rank_id, "
+ ."r.image AS rank_image, "
+ ."r.longname AS rank_long, "
+ ."r.shortname AS rank_short, "
+ ."c.name AS position, "
+ ."u.unit_id, "
+ ."u.name AS unit_name, "
+ ."p.platoon_id, "
+ ."p.name AS platoon_name, "
+ ."s.squad_id, "
+ ."s.name AS squad_name, "
+ ."s.leader_id AS squad_leader_id, "
+ ."st.name AS status, "
+ ."st.status_id, "
+ ."t.team_id, "
+ ."t.name AS team_name, "
+ ."t.leader_id AS team_leader_id, "
+ ."w.weapon_id, "
+ ."w.manufacturer AS weapon_manufacturer, "
+ ."w.model AS weapon_model, "
+ ."co.country_id, "
+ ."co.name AS country_name, "
+ ."co.image AS country_image, "
+
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name, "
+ ."CONCAT(m.location_province, \", \", co.name) AS location, "
+ ."CONCAT(w.manufacturer, \" \", w.model) as weapon_name, "
+
+ ."DATE_FORMAT(m.date_enlisted, '%d %b %Y') AS enlist_date, "
+ ."DATE_FORMAT(m.date_promotion, '%d %b %Y') AS promo_date, "
+ ."DATE_FORMAT(m.date_discharged, '%d %b %Y') AS discharge_date, "
+
+ ."m.date_enlisted AS enlist_date_st, "
+ ."m.date_promotion AS promo_date_st, "
+ ."m.date_discharged AS discharge_date_st "
+
+ ."FROM rudi_unit_members AS m "
+ ."LEFT OUTER JOIN rudi_weapons AS w ON w.weapon_id = m.weapon_id "
+ ."LEFT OUTER JOIN rudi_units AS u ON u.unit_id = m.unit_id "
+ ."LEFT OUTER JOIN rudi_squads AS s ON s.squad_id = m.squad_id "
+ ."LEFT OUTER JOIN rudi_teams AS t ON t.team_id = m.team_id "
+ ."LEFT OUTER JOIN rudi_platoons AS p ON p.platoon_id = m.platoon_id "
+ ."LEFT OUTER JOIN rudi_ranks AS r ON r.rank_id = m.rank_id "
+ ."LEFT OUTER JOIN rudi_classes AS c ON c.class_id = r.class_id "
+ ."LEFT OUTER JOIN rudi_statuses AS st ON st.status_id = m.status_id "
+ ."LEFT OUTER JOIN rudi_countries AS co ON co.country_id = m.country_id ";
+ }
+ else //SMALL PROFILE QUERY
+ {
+ $sql =
+ "SELECT "
+ ."m.first_name, "
+ ."m.last_name, "
+ ."m.member_id, "
+ ."m.status_id, "
+ ."r.rank_id, "
+ ."r.image AS rank_image, "
+ ."r.longname AS rank_long, "
+ ."r.shortname AS rank_short, "
+ ."u.unit_id, "
+ ."u.name AS unit_name, "
+ ."p.platoon_id, "
+ ."p.name AS platoon_name, "
+ ."s.squad_id, "
+ ."s.name AS squad_name, "
+ ."s.leader_id AS squad_leader_id, "
+ ."st.name AS status, "
+ ."st.status_id, "
+ ."t.team_id, "
+ ."t.name AS team_name, "
+ ."w.weapon_id, "
+ ."w.manufacturer AS weapon_manufacturer, "
+ ."w.model AS weapon_model, "
+
+ ."CONCAT(m.last_name, \", \", m.first_name) AS name, "
+ ."CONCAT(w.manufacturer, \" \", w.model) as weapon_name "
+
+ ."FROM rudi_unit_members AS m "
+ ."LEFT OUTER JOIN rudi_weapons AS w ON w.weapon_id = m.weapon_id "
+ ."LEFT OUTER JOIN rudi_units AS u ON u.unit_id = m.unit_id "
+ ."LEFT OUTER JOIN rudi_squads AS s ON s.squad_id = m.squad_id "
+ ."LEFT OUTER JOIN rudi_teams AS t ON t.team_id = m.team_id "
+ ."LEFT OUTER JOIN rudi_platoons AS p ON p.platoon_id = m.platoon_id "
+ ."LEFT OUTER JOIN rudi_ranks AS r ON r.rank_id = m.rank_id "
+ ."LEFT OUTER JOIN rudi_statuses AS st ON st.status_id = m.status_id ";
+ }
+
+ if(!is_null($id))
+ {
+ $sql .= "WHERE m.member_id = '" . (int)$id . "' ";
+ }
+
+ $sql .= "ORDER BY p.platoon_id,s.squad_id,t.team_id,r.rank_id DESC ";
+ $result = $this->db->Query($sql);
+ $count = 0;
+
+ while(($row = $this->db->FetchObject($result,'Soldier'))!=false)
+ {
+ $count = $row->member_id;
+ $this->data[$row->member_id] = $row;
+ $this->data[$count]->Roles = $this->getRoles($row->member_id,$row->rank_id);
+ if($query_t != RUDI_PROFILE_SMALL)
+ {
+ $this->data[$count]->service_record = $this->getServiceRecord($row->member_id);
+ $this->data[$count]->award_record = $this->getAwardRecord($row->member_id);
+ $this->data[$count]->combat_record = $this->getCombatRecord($row->member_id);
+ $this->data[$count]->superior->unit = $this->getSuperiorUnit($row->unit_id);
+ $this->data[$count]->superior->platoon = $this->getSuperiorPlatoon($row->platoon_id);
+ $this->data[$count]->superior->squad = $this->getSuperiorSquad($row->squad_id);
+ $this->data[$count]->superior->team = $this->getSuperiorTeam($row->team_id);
+ $this->data[$count]->superior_next = $this->getSuperiorTrue($row->member_id);
+ }
+ //++$count;
+ }
+ $this->db->Free($result);
+
+ return $this->data;
+ }
+
+ protected function getAwards()
+ {
+ $query = "SELECT a.award_id, a.image, a.name, a.description, a.class_id, c.name AS class_name "
+ ."FROM rudi_awards AS a "
+ ."LEFT OUTER JOIN rudi_award_classes AS c ON c.class_id = a.class_id "
+ ."ORDER BY c.class_id, a.award_id ASC";
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Award'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ protected function getAwardClasses()
+ {
+ $query = "SELECT class_id, name FROM rudi_award_classes";
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'AwardClass'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ protected function getRanks()
+ {
+ $query = "SELECT rank_id, shortname, longname, image FROM rudi_ranks ORDER BY weight DESC";
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Rank'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+
+ protected function getDrills($id = NULL)
+ {
+ if(!is_null($id))
+ {
+ $query = "SELECT * FROM rudi_drills
+ LEFT OUTER JOIN rudi_drills_record AS dr ON dr.drill_id = rudi_drills.drill_id
+ RIGHT OUTER JOIN rudi_unit_members AS m ON m.member_id = dr.member_id
+ LEFT OUTER JOIN rudi_statuses AS st ON st.status_id = m.status_i
+ WHERE rudi_drills.drill_id = '$id' ORDER BY date DESC";
+ }
+ else
+ {
+ $query = "SELECT * FROM rudi_drills ORDER BY date DESC";
+ }
+
+ $result = $this->db->Query($query);
+ while(($row = $this->db->FetchObject($result,'Drill'))!=false)
+ {
+ $data[] = $row;
+ }
+ $this->db->Free($result);
+
+ return $data;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/modules/rudi/includes/debug.php b/modules/rudi/includes/debug.php
new file mode 100644
index 0000000..1f5f382
--- /dev/null
+++ b/modules/rudi/includes/debug.php
@@ -0,0 +1,80 @@
+<?php
+
+if(!defined(NO_ACCESS))
+{
+ ReportError("Access denied.");
+}
+
+define("RUDI_DEBUG",true);
+define("RUDI_DEBUG_LEVEL",true);
+define(NO_REPEAT,'norepeat');
+define(REPEAT,'repeat');
+
+static $last_message = NULL;
+static $last_message_count = 0;
+
+/*
+function decho($message)
+{
+ echo "<pre>\n";
+ if(is_array($message))
+ {
+ print_r($message);
+ }
+ elseif(is_object($message))
+ {
+ var_dump($message);
+ }
+ elseif(is_string($message))
+ {
+ $message = wordwrap($message,80,'<br />');
+ echo "$message\n";
+ }
+ echo "</pre>";
+}
+
+ function decho($message, $flag = NO_REPEAT)
+ {
+ global $last_message, $last_message_count;
+ if($last_message == $message)
+ {
+ if($flag == NO_REPEAT)
+ ++$last_message_count;
+ else
+ $last_message_count = $last_message_count;
+ return;
+ }
+ elseif($last_message != $message)
+ {
+ echo "<pre>";
+ if($last_message_count > 0 && !is_array($last_message) && !is_object($last_message))
+ {
+ echo "Receieved previous message <b>$last_message_count</b> times\n";
+ }
+ else
+ {
+ if(is_array($message))
+ {
+ print_r($message);
+ }
+ elseif(is_object($message))
+ {
+ var_dump($message);
+ }
+ elseif(is_string($message))
+ {
+ $message = wordwrap($message,80,'<br />');
+ echo "$message\n";
+ }
+ }
+ echo "</pre>";
+ $last_message_count = 0;
+ }
+
+ $last_message = $message;
+
+ }
+*/
+
+
+?> \ No newline at end of file
diff --git a/modules/rudi/includes/index.html b/modules/rudi/includes/index.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/rudi/includes/index.html
diff --git a/modules/rudi/includes/rudi.css b/modules/rudi/includes/rudi.css
new file mode 100644
index 0000000..e009384
--- /dev/null
+++ b/modules/rudi/includes/rudi.css
@@ -0,0 +1,22 @@
+table{
+ border:1px solid #000;
+}
+
+tr{
+ border:1px solid #000;
+}
+
+th{
+ padding:5px;
+ border:1px solid #000;
+}
+
+td{
+ text-align:center;
+ padding:2px;
+ border:1px solid #000;
+}
+
+td.data{
+ text-align:left;
+} \ No newline at end of file
diff --git a/modules/rudi/includes/sql.class.php b/modules/rudi/includes/sql.class.php
new file mode 100644
index 0000000..4066684
--- /dev/null
+++ b/modules/rudi/includes/sql.class.php
@@ -0,0 +1,90 @@
+<?php
+
+static $db_queries = 0;
+static $db_connections = 0;
+static $db_frees = 0;
+static $db_fetches = 0;
+
+class RUDI_SQL
+{
+ protected $hostname;
+ public function Connect($hostname, $username, $passwd)
+ {
+ global $db_connections;
+ ++$db_connections;
+
+ $this->hostname = $hostname;
+
+ decho("Connecting ('$hostname')");
+ return mysql_connect($hostname, $username, $passwd);
+ }
+
+ public function Disconnect($link)
+ {
+ decho("Disconnecting ('$link' from '$this->hostname')");
+ //return mysql_close($link);
+ }
+
+ public function Select_db($db)
+ {
+ decho("Selecting database ('$db')");
+ return mysql_select_db($db);
+ }
+
+ public function Query($str)
+ {
+ global $db_queries;
+ ++$db_queries;
+ //decho("Querying ('$str')");
+ return mysql_query($str);
+ }
+
+ public function Free($result)
+ {
+ global $db_frees;
+ ++$db_frees;
+ //decho("Freeing ('$result')");
+ return mysql_free_result($result);
+ }
+
+ public function Fetch($result)
+ {
+ //decho("Fetching ('$result')");
+ return $this->FetchArray($result);
+ }
+
+ public function FetchArray($result)
+ {
+ global $db_fetches;
+ ++$db_fetches;
+ /* Alias Fetch() prefered, so no decho information */
+ return mysql_fetch_array($result,MYSQL_ASSOC);
+ }
+
+ public function FetchObject($result,$class)
+ {
+ global $db_fetches;
+ ++$db_fetches;
+ //decho("Fetching ('$result')");
+ return mysql_fetch_object($result,$class);
+ }
+
+ public function FetchAssoc($result)
+ {
+ global $db_fetches;
+ ++$db_fetches;
+ return mysql_fetch_assoc($result);
+ }
+
+ public function FetchRow($result)
+ {
+ return mysql_fetch_row($result);
+ }
+
+ public function Rows($result)
+ {
+ return mysql_num_rows($result);
+ }
+}
+
+?> \ No newline at end of file
diff --git a/modules/rudi/index.php b/modules/rudi/index.php
new file mode 100644
index 0000000..79de570
--- /dev/null
+++ b/modules/rudi/index.php
@@ -0,0 +1,80 @@
+<?php
+//include 'header.php';
+//include 'includes/debug.php';
+//include 'includes/sql.class.php';
+include 'includes/common.class.php';
+
+class RUDI_Gateway extends RUDI_Common
+{
+ protected $awards, $ranks, $drills;
+
+ public function __construct()
+ {
+ parent::__construct();
+
+ if(isset($_GET['admin']))
+ {
+ define('BLOCK_RIGHT_DISABLE','block_right_disable');
+ include 'admin/index.php';
+ return;
+ }
+
+ if(isset($_GET['profile']))
+ {
+ $this->Update();
+
+ OpenTable();
+ echo "<tr><th>RUDI</th></tr><tr><td>\n";
+ include 'views/view.profile.php';
+ echo "</td></tr>";
+ CloseTable();
+ return;
+ }
+ elseif(isset($_GET['show']))
+ {
+ OpenTable();
+ echo "<tr><th>RUDI</th></tr><tr><td>\n";
+ switch($_GET['show'])
+ {
+ case 'awards':
+ $this->awards = $this->getAwards();
+ include 'views/view.awards.php';
+ break;
+ case 'ranks':
+ $this->ranks = $this->getRanks();
+ include 'views/view.ranks.php';
+ break;
+ case 'drills':
+ $this->drills = $this->getDrills($_GET['id']);
+ include 'views/view.drills.php';
+ break;
+ }
+ echo "</td></tr>";
+ CloseTable();
+ return;
+ }
+ else
+ {
+ $this->Update(RUDI_PROFILE_SMALL);
+ $stats = $this->getCumulativeStats();
+ decho($stats);
+
+ OpenTable();
+ echo "<tr><th>RUDI</th></tr><tr><td>\n";
+ include 'views/view.current.php';
+ echo "</td></tr>";
+ CloseTable();
+ return;
+ }
+ }
+}
+
+ob_start();
+$rudi = new RUDI_Gateway();
+ob_flush();
+
+//include 'footer.php';
+//decho($test->foo[0]->member_id);
+//$test1 = new Test();
+//$test2 = new Test();
+?> \ No newline at end of file
diff --git a/modules/rudi/views/view.awards.php b/modules/rudi/views/view.awards.php
new file mode 100644
index 0000000..6a60536
--- /dev/null
+++ b/modules/rudi/views/view.awards.php
@@ -0,0 +1,83 @@
+<?php define('BLOCK_RIGHT_DISABLE','block_right_disable'); ?>
+<?php $medals_path = $this->images_path . "/medals/"; ?>
+
+<html>
+<head>
+ <title>Awards and Medals</title>
+
+<style type="text/css">
+p {color: white; }
+body {background-color: black; }
+th.header {
+ width:175px;
+ background:#333;
+}
+
+td.rudi {
+ text-align: center;
+ vertical-align: middle;
+}
+</style>
+
+</head>
+<body>
+
+<?php $classes = $this->getAwardClasses(); ?>
+<table align="center" style="width: 100%;">
+
+ <?php
+ $i = 0;
+ $cl = 0;
+ while($cl != count($classes))
+ {
+ echo "<tr>";
+ echo "<th colspan=\"3\">{$classes[$cl]->name}s</th>";
+ echo "</tr>";
+ echo '<th scope="col" class="header" style="width:1px;">Image</th>';
+ echo '<th scope="col" class="header" style="width:1px;">Award</th>';
+ echo '<th scope="col" class="header" style="width:85%;">Description</th>';
+
+ foreach($this->awards as $award)
+ {
+ if($classes[$cl]->class_id == $award->class_id)
+ {
+ echo "
+ <tr>
+ <td align=\"center\" class=\"rudi\"><img src=\"{$medals_path}{$award->image}\" alt=\"{$award->image}\"/></td>
+ <td align=\"center\" class=\"rudi\">{$award->name}&nbsp;</td>
+ <td align=\"left\" class=\"rudi\" style=\"text-align:left;\">{$award->description}&nbsp;</td>
+ </tr>";
+ }
+
+ }
+
+ ++$cl;
+ }
+ ?>
+
+</table>
+
+<!-- grr wtf
+ <table align="center" style="width: 100%;">
+ <tr>
+ <th scope="col" class="header" style="width:1px;">Image</th>
+ <th scope="col" class="header" style="width:1px;">Award</th>
+ <th scope="col" class="header">Description</th>
+ </tr>
+
+
+ <?php //foreach($this->awards as $award): ?>
+
+ <tr>
+ <td align='center' class="rudi"><img src="/rudi/images/medals/<?php //echo $award->image; ?>"></img>&nbsp;</td>
+ <td align='center' class="rudi"><?php //echo $award->name; ?>&nbsp;</td>
+ <td align='left'><?php //echo wordwrap($award->description,80,"<br/>"); ?>&nbsp;</td>
+ </tr>
+
+ <?php //endforeach; ?>
+
+
+ </table>
+-->
+</body>
+</html> \ No newline at end of file
diff --git a/modules/rudi/views/view.current.php b/modules/rudi/views/view.current.php
new file mode 100644
index 0000000..b0e1316
--- /dev/null
+++ b/modules/rudi/views/view.current.php
@@ -0,0 +1,134 @@
+<?php
+ $platoon_temp_count = 0; $squad_temp_count = 0;
+
+?>
+
+<html>
+<head>
+ <title>Roster Current</title>
+
+<style type="text/css">
+p {color: white; }
+body {background-color: black; }
+th.header {
+ width:175px;
+ background:#333;
+}
+
+td.rudi {
+ text-align: center;
+ vertical-align: middle;
+}
+</style>
+
+</head>
+<body>
+
+ <?php
+ /*
+ echo "<table align=\"center\">";
+
+ echo "<tr>
+ <th>Rank</th>
+ <th>Name</th>
+ <th>Weapon</th>
+ <th>Status</th>
+ </tr>";
+
+ $p = 1;
+ $s = 1;
+ $u = 1;
+ $members = $this->data;
+ while($u != count($members))
+ {
+ while($p != $stats['platoon'])
+ {
+ echo "<tr>
+ <th>a platoon</th>
+ </tr>";
+
+ while($s != $stats['squad'])
+ {
+ if($members[$u]->squad_id)
+ echo "<tr>
+ <td>{$members[$u]->rank_short}</td>
+ <td>{$members[$u]->name}</td>
+ <td>{$members[$u]->weapon_name}</td>
+ <td>{$members[$u]->status}</td>
+ </tr>";
+
+ echo "<tr>
+ <th>a squad</th>
+ </tr>";
+
+ ++$s;
+ }
+
+ ++$p;
+ }
+
+ ++$u;
+ }
+ echo "</table>";
+ */
+ ?>
+
+ <table align="center">
+
+ <?php for($platoon_count = 0; $platoon_count <= $stats['platoon']; ++$platoon_count): ?>
+
+ <?php if($this->getMembersOfPlatoon($platoon_count) > 0): ?>
+ <?php if($platoon_count):?>
+ <tr>
+ <!-- Platoon table marker -->
+ <th class="header" colspan="5"><?php echo $platoon_count . ' Platoon'; ?></th></tr>
+ <?php endif; ?>
+
+ <tr>
+ <!-- Table header -->
+ <th class="header">Rank</th>
+ <th class="header">Name</th>
+ <th class="header">Role</th>
+ <th class="header">Weapon</th>
+ <th class="header">Status</th>
+ </tr>
+ <?php foreach($this->data as $member): ?>
+ <?php if($member->platoon_id == $platoon_count && $member->status_id < 2): ?>
+ <tr>
+ <!-- Rank -->
+ <td class="rudi"><img src="<?php echo "{$this->images_path}/ranks/small/{$member->rank_short}.png"; ?>" alt="<?php echo $member->rank_short; ?>" /></td>
+ <!-- Name -->
+ <td class="rudi"><a href="?load=rudi&amp;profile=<?php echo $member->member_id ?>"><?php echo $member->last_name . ', ' . $member->first_name; ?></a></td>
+ <!-- Roles -->
+ <td class="rudi">
+ <?php
+ decho(count($member->Roles) . ' roles attached to: ' . $member->last_name);
+ for($role = 0; $role < count($member->Roles); ++$role)
+ {
+ if($member->Roles[$role]->role_name)
+ {
+ decho($role . " = (" . $member->Roles[$role]->role_name . ")");
+ echo $member->Roles[$role]->role_name;
+ echo '&nbsp;';
+ }
+ else
+ {
+ echo "Soldier";
+ }
+ }
+ ?>
+ </td>
+ <!-- Weapon -->
+ <td class="rudi"><?php echo $member->weapon_manufacturer . ' ' . $member->weapon_model; ?></td>
+ <!-- Status -->
+ <td class="rudi"><?php echo $member->status; ?></td>
+ </tr>
+ <?php endif; ?>
+
+ <?php endforeach; ?>
+ <?php endif; ?>
+ <?php endfor; ?>
+
+ </table>
+</body>
+</html>
diff --git a/modules/rudi/views/view.current.php.gz b/modules/rudi/views/view.current.php.gz
new file mode 100644
index 0000000..c41a55a
--- /dev/null
+++ b/modules/rudi/views/view.current.php.gz
Binary files differ
diff --git a/modules/rudi/views/view.drills.php b/modules/rudi/views/view.drills.php
new file mode 100644
index 0000000..084be97
--- /dev/null
+++ b/modules/rudi/views/view.drills.php
@@ -0,0 +1,99 @@
+<html>
+<head>
+ <title>Drills</title>
+
+<style type="text/css">
+p {color: white; }
+body {background-color: black; }
+th.header {
+ width:175px;
+ background:#333;
+}
+
+td.rudi {
+ text-align: center;
+ vertical-align: middle;
+}
+</style>
+
+</head>
+<body>
+
+<?php
+
+function Rating($val)
+{
+ define(EXCELLENT,100);
+ define(GOOD, 75);
+ define(FAIR, 50);
+ define(POOR, 25);
+ define(TERRIBLE, 0);
+
+ if($val == EXCELLENT)
+ return "Excellent";
+ elseif($val < EXCELLENT && $val >= GOOD)
+ return "Good";
+ elseif($val < GOOD && $val >= POOR)
+ return "Poor";
+ elseif($val < POOR && $val >= TERRIBLE)
+ return "Terrible";
+ else
+ return "Bad Value";
+}
+
+OpenTable("Drills");
+
+if(isset($_GET['id']))
+{
+
+ foreach($this->drills as $drill)
+ {
+ $name = $drill->last_name . ', ' . $drill->first_name;
+ $pRating = Rating($drill->performance);
+ $iRating = Rating($drill->initiative);
+
+ echo "<tr>
+ <th class=\"header\">Soldier</th>
+ <th class=\"header\">Performance Rating</th>
+ <th class=\"header\">Initiative Rating</th>
+ <th class=\"header\">Early Excusal</th>
+ <th class=\"header\">Excusal Reason</th>
+
+ </tr>";
+
+ echo "<tr>
+ <td class=\"rudi\">{$name}</td>
+ <td class=\"rudi\">{$pRating}</td>
+ <td class=\"rudi\">{$iRating}</td>
+ <td class=\"rudi\">{$drill->excusal}</td>
+ <td class=\"rudi\">{$drill->excusal_reason}</td>
+
+ </tr>";
+ }
+ CloseTable();
+ echo "<a href=\"?load=rudi&amp;show=drills\">Back</a>";
+ return;
+}
+
+echo "<tr>
+<th class=\"header\">&nbsp;</th>
+<th class=\"header\">Date</th>
+<!-- <th class=\"header\">News</th> -->
+<th class=\"header\">Notes</th>
+</tr>";
+
+foreach($this->drills as $drill)
+{
+ echo "<tr>
+ <td class=\"rudi\"><a href=\"?load=rudi&amp;show=drills&amp;id={$drill->drill_id}\">View</a></td>
+ <td class=\"rudi\">{$drill->date}</td>
+ <!-- <td class=\"rudi\">{$drill->news}</td> -->
+ <td class=\"rudi\">{$drill->notes}</td>
+ </tr>";
+}
+
+CloseTable();
+?>
+
+</body>
+</html> \ No newline at end of file
diff --git a/modules/rudi/views/view.profile.php b/modules/rudi/views/view.profile.php
new file mode 100644
index 0000000..877fab0
--- /dev/null
+++ b/modules/rudi/views/view.profile.php
@@ -0,0 +1,188 @@
+<?php
+define('BLOCK_RIGHT_DISABLE','block_right_disable');
+$member =& $this->data[$_GET['profile']];
+$uniform_image = strtolower($member->first_name[0] . $member->last_name . ".png");
+$uniform_image[0] = strtoupper($uniform_image[0]);
+$uniform_image[1] = strtoupper($uniform_image[1]);
+?>
+
+<html>
+<head>
+<title>Profile page of, <?php echo $member->last_name ?></title>
+<style type="text/css">
+
+p {color: white; }
+body {background-color: black; }
+th.header {
+ width:100px;
+ background:#333;
+}
+
+td {
+ vertical-align: middle;
+}
+
+#thin {
+ border:1px outset #333;
+}
+</style>
+</head>
+<body>
+<table width="100%" border="1" align="center" cellpadding="1" cellspacing="0">
+ <tr>
+ <th>Viewing Profile of: <?php echo $member->rank_long . " " . $member->first_name . " " . $member->last_name; ?></th>
+ </tr>
+ <tr>
+ <td><center><img src="<?php echo $this->images_path ?>/uniform/<?php echo $uniform_image; ?>" />&nbsp;</center></td>
+ </tr>
+ <tr>
+ <td><table width="100%" border="0" cellpadding="1">
+ <tr>
+ <td width="20%">
+ <table width="100%" border="0" cellpadding="5" align="center" style="border: 0px;">
+ <tr>
+ <td><center><img src="<?php echo $this->images_path ?>/ranks/large/<?php echo $member->rank_image ?>" />&nbsp;</center></td>
+ </tr>
+ <tr>
+ <td><center><img src="<?php echo $this->images_path ?>/flags/<?php echo $member->country_image?>" />&nbsp;</center></td>
+ </tr>
+ </table>
+ </td>
+ <td width="100%">
+ <table width="100%" border="0" cellpadding="5">
+ <tr>
+ <th class="header" scope="row">Location</th>
+ <td ><?php echo $this->evalData($member->location) ?>&nbsp;</td>
+ <th class="header">Superior</th>
+ <td><?php
+ if(!is_null($member->superior_next->leader_id))
+ echo "<a href=\"?load=rudi&profile={$member->superior_next->leader_id}\">";
+
+ echo $this->evalData($member->superior_next->name);
+ echo "</a>&nbsp;";
+ ?>
+ </td>
+ </tr>
+ <tr>
+ <th class="header" scope="row">Status</th>
+ <td><?php echo $this->evalData($member->status) ?>&nbsp;</td>
+ <th class="header">Position</th>
+ <td><?php echo $this->evalData($member->position) ?>&nbsp;</td>
+ </tr>
+ <tr>
+ <th class="header" scope="row">Unit</th>
+ <td><?php echo $this->evalData($member->unit_name) ?>&nbsp;</td>
+ <th class="header">Weapon</th>
+ <td><?php echo $this->evalData($member->weapon_name) ?>&nbsp;</td>
+ </tr>
+ <tr>
+ <th class="header" scope="row">Platoon</th>
+ <td><?php echo $this->evalData($member->platoon_name) ?>&nbsp;</td>
+ <th class="header" scope="row">Enlisted</th>
+ <td><?php echo $this->evalData($member->enlist_date) ?>&nbsp;</td>
+ </tr>
+ <tr>
+ <th class="header" scope="row">Squad</th>
+ <td><?php echo $this->evalData($member->squad_name) ?>&nbsp;</td>
+ <th class="header">Time In Service</th>
+ <?php if($member->discharge_date): ?>
+ <td><?php echo $this->getDiffTime($member->enlist_date_st, $member->discharge_date)?>&nbsp;</td>
+ <?php else: ?>
+ <td><?php echo $this->getDiffTime($member->enlist_date_st)?></td>
+ <?php endif; ?>
+
+ </tr>
+ <tr>
+ <th class="header">Team</th>
+ <td><?php echo $this->evalData($member->team_name) ?>&nbsp;</td>
+ <th class="header">Time In Grade</th>
+ <td><?php echo $this->getDiffTime($member->promo_date_st) ?>&nbsp;</td>
+ </tr>
+ <tr>
+ <?php if($member->discharge_date): ?>
+ <td colspan="2"></td>
+ <th class="header" scope="row">Separated</th>
+ <td><?php echo $this->evalData($member->discharge_date) ?>&nbsp;</td>
+ <?php endif; ?>
+ </tr>
+
+ </table></td>
+ </tr>
+ </table></td>
+ </tr>
+ <tr>
+ <td><table width="100%" border="0" cellpadding="1" id="thin">
+ <tr>
+ <th class="header" scope="col">Biography</th>
+ </tr>
+ <tr >
+ <td style="text-align:left;"><?php echo $member->bio ?>&nbsp;</td>
+ </tr>
+ </table>
+
+ &nbsp;
+
+ <table width="100%" border="0" cellpadding="1" id="thin">
+ <tr>
+ <th class="header" scope="col" colspan="3">Service Record</th>
+ </tr>
+ <tr>
+ <?php if(is_null($member->service_record)):?>
+ <td>No service record available&nbsp;</td>
+ <?php else:?>
+ <?php foreach($member->service_record as $record): ?>
+ <tr>
+ <th class="header" width="25%"><?php echo $record->date_added ?>&nbsp;</th>
+ <td><?php echo $record->record_note ?>&nbsp;</td>
+ </tr>
+ <?php endforeach; ?>
+ <?php endif; ?>
+ </tr>
+ </table>
+
+ &nbsp;
+
+ <table width="100%" border="0" cellpadding="1" id="thin">
+ <tr>
+ <th class="header" scope="col" colspan="4">Award Record</th>
+ </tr>
+ <tr>
+ <?php if(is_null($member->award_record)):?>
+ <td>No award record available&nbsp;</td>
+ <?php else:?>
+ <?php foreach($member->award_record as $record): ?>
+ <tr>
+ <th class="header" width="25%"><?php echo $record->date_added?>&nbsp;</th>
+ <td ><?php echo $this->evalData($record->award_name); ?>&nbsp;</td>
+ <td style="vertical-align:middle;"><center><img src="<?php echo $this->images_path; ?>/medals/<?php echo $record->image; ?>"/></center></td>
+ <td width="40%"><?php echo $record->record_note ?>&nbsp;</td>
+ </tr>
+ <?php endforeach; ?>
+ <?php endif; ?>
+ </tr>
+ </table>
+
+ &nbsp;
+
+ <table width="100%" border="0" cellpadding="1" id="thin">
+ <tr>
+ <th class="header" scope="col" colspan="3">Combat Record</th>
+ </tr>
+ <tr>
+ <?php if(is_null($member->combat_record)):?>
+ <td>No combat record available&nbsp;</td>
+ <?php else:?>
+ <?php foreach($member->combat_record as $record): ?>
+ <tr>
+ <th class="header" width="25%"><?php echo $record->date ?>&nbsp;</th>
+ <td><a href="<?php echo $record->website ?>"><?php echo $record->name ?></a>&nbsp;</td>
+ <td><?php echo $record->status ?>&nbsp;</td>
+ </tr>
+ <?php endforeach; ?>
+ <?php endif; ?>
+ </tr>
+ </table></td>
+ </tr>
+</table>
+</body>
+</html> \ No newline at end of file
diff --git a/modules/rudi/views/view.ranks.php b/modules/rudi/views/view.ranks.php
new file mode 100644
index 0000000..2bb1823
--- /dev/null
+++ b/modules/rudi/views/view.ranks.php
@@ -0,0 +1,39 @@
+<?php define('BLOCK_RIGHT_DISABLE','block_right_disable'); ?>
+
+<html>
+<head>
+ <title>Awards and Medals</title>
+
+<style type="text/css">
+p {color: white; }
+body {background-color: black; }
+th.header {
+ width:175px;
+ background:#333;
+}
+
+td.rudi {
+ text-align: center;
+ vertical-align: middle;
+}
+</style>
+
+</head>
+<body>
+
+ <table align="center" style="width: 100%;">
+ <tr>
+ <th scope="col" class="header">Image</th>
+ <th scope="col" class="header">Rank</th>
+ </tr>
+ <?php foreach($this->ranks as $rank): ?>
+ <tr>
+ <td align='center' class="rudi"><img src="<?php echo "{$this->images_path}/ranks/small/{$rank->image}"; ?>"></img>&nbsp;</td>
+ <td align='center' class="rudi"><?php echo $rank->longname; ?>&nbsp;</td>
+ </tr>
+ <?php endforeach; ?>
+
+ </table>
+
+</body>
+</html> \ No newline at end of file