From e457803544be42f672dd18253a76b7bd8aad4e25 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Fri, 22 Apr 2016 13:46:46 -0400 Subject: [PATCH] Now using member terms --- controllers/admin.php | 2 +- lib/GlmDataAbstract/DataAbstract.php | 133 ++++++++++++++----------- lib/GlmDataAbstract/documentation.odt | Bin 43521 -> 43544 bytes models/admin/dashboardWidget/index.php | 4 +- setup/adminMenus.php | 17 ++-- views/admin/dashboardWidget/index.html | 129 ++++++++++++------------ views/admin/member/header.html | 6 +- views/admin/member/index.html | 26 ++--- views/admin/member/memberEdit.html | 36 +++---- views/admin/member/memberInfo.html | 56 +++++------ views/admin/members/header.html | 4 +- views/admin/members/index.html | 26 ++--- views/admin/members/list.html | 18 ++-- views/admin/settings/header.html | 4 +- views/admin/settings/index.html | 28 +++--- views/admin/shortcodes/index.html | 2 +- 16 files changed, 254 insertions(+), 237 deletions(-) diff --git a/controllers/admin.php b/controllers/admin.php index fab3f2c4..fd8fb2d8 100644 --- a/controllers/admin.php +++ b/controllers/admin.php @@ -561,7 +561,7 @@ class glmMembersAdmin extends GlmPluginSupport wp_add_dashboard_widget( 'glm_members_admin_dashboard_widget', - 'Member DB Summary', + 'GLM Associate', function() {$this->controller('dashboardWidget'); } ); diff --git a/lib/GlmDataAbstract/DataAbstract.php b/lib/GlmDataAbstract/DataAbstract.php index d2486e8e..58b7e419 100755 --- a/lib/GlmDataAbstract/DataAbstract.php +++ b/lib/GlmDataAbstract/DataAbstract.php @@ -1843,42 +1843,46 @@ abstract class GlmDataAbstract } function timeOutput($f, $d) { + // Default values if no time returned + $hour = 12; + $min = 00; + $ampm = 'AM'; + // Build picklists for time input $time_list = $this->buildTimeFieldLists(); // Get current time value $t = explode(':', $d); if (count($t) != 3) { - // No current time value set + + // No valid time value returned from database $time = ''; - } else { - // Assemble Text time - $ampm = 'AM'; - $hour = ($t[0] - 0); - if ($hour > 11) { - $ampm = 'PM'; - $time_list['ampm']['P']['default'] = true; - } else { - $time_list['ampm']['A']['default'] = true; - } - if ($hour > 12) { - $hour -= 12; - } + } else { - $min = $t[1]; - $time_list['hour'][$hour]['default'] = true; - $time_list['min'][$min]['default'] = true; + $t = strtotime($d); - $time = sprintf('%2d:%02d %s', $hour, $min, $ampm); + // Get hour & min without leading 0's and AM/PM in caps + $hour = date('g', $t); + $min = (date('i', $t)-0); + $ampm = date('A', $t); } + // Set time picklist active values + $time_list['hour'][$hour]['default'] = true; + $time_list['min'][$min]['default'] = true; + $time_list['ampm'][$ampm[0]]['default'] = true; + + // Create text time + $time = sprintf('%2d:%02d %s', $hour, $min, $ampm); + // If a time format is specified, use that. See PHP date() for format specification if (isset($f['time_format'])) { $time = date( $f['time_format'], strtotime($time)); } + // Assemble output array with text time and picklists data $r = array( 'time' => $time, 'time_list' => $time_list @@ -1891,7 +1895,7 @@ abstract class GlmDataAbstract $this->inputFieldStatus = true; $hour = 12; $min = 00; - $ampm = 'PM'; + $ampm = 'AM'; // Build picklists for time input $time_list = $this->buildTimeFieldLists(); @@ -1899,32 +1903,20 @@ abstract class GlmDataAbstract // If this is setup for a new entry, then just return default value if ($op == 'n') { - $time = ''; - - // Get default - Needs to be in format "00:00:00" 24 hour time + // Get default - Needs to be in format "12:00 AM" 12 hour time if (isset($f['default'])) { - $def = explode(':', $f['default']); - $ampm = 'AM'; - if (isset($def[0])) { - if ($def[0] >= 12) { - $ampm = 'PM'; - } - if ($def[0] > 12) { - $hour = $def[0] -12; - } else { - $hour = $def[0]; - } - } - if (isset($def[1])) { - $min = $def[1]; - } else { - $min = 00; - } + + $t = explode(':', $f['default']); + $t2 = explode(' ', $t[1]); + + $hour = $t[0]; + $min = $t2[0]; + $ampm = $t2[1]; } - // Otherwise we should be getting input from the user - } else { + // Otherwise we should be getting input from the user + } else { $this->inputErrorReason = false; @@ -1933,29 +1925,53 @@ abstract class GlmDataAbstract if (isset($_REQUEST[$as.'_hour'])) { // Validate hour input - $hour = ($_REQUEST[$as.'_hour'] - 0); - $min = ($_REQUEST[$as.'_min'] - 0); + $hour = sprintf("%02d",($_REQUEST[$as.'_hour'] - 0)); + $min = sprintf("%02d",($_REQUEST[$as.'_min'] - 0)); $ampm = ($_REQUEST[$as.'_ampm'] == 'P' ? 'PM' : 'AM'); } elseif (isset($_REQUEST[$as])) { - // Looks like it's a plain text input + // Looks like it's a plain text input so we need to sort that out + // Note: we can't trust PHP strtotime() to do this in odd cases $t = explode(':', $_REQUEST[$as]); if (count($t) >= 2) { - $ampm = 'AM'; - $hour = ($t[0] - 0); + // Clear up hours and minutes + $hour = sprintf("%02d",($t[0] - 0)); + $min = sprintf("%02d",($t[1] - 0)); + + // Check if 24h time (no am/pm) + if (!preg_match("/[aApP]/", $t[1])) { + + // If after noon + if ($hour >= 12) { + $ampm = 'PM'; + + // If 1PM or later + if ($hour >= 13) { + $hour = sprintf("%02d", ($hour-12)); + } + + } elseif ($hour == 0) { + $hour = 12; + } + + + // Otherwise it's 12h format + } else { + + // Convert 0 hours to 12 + if ($hour == '00') { + $hour == 12; + } + + // Check for PM + if (preg_match("/[pP]/", $t[1])) { + $ampm = 'PM'; + } - // Check PM - $isAM = stripos($t[1], 'a'); - if ($hour > 11 || $isAM === false) { - $ampm = 'PM'; - } - if ($hour > 12) { - $hour -= 12; } - $min = ($t[1] - 0); } } @@ -1972,7 +1988,8 @@ abstract class GlmDataAbstract $time_list['hour'][$hour]['default'] = true; $time_list['min'][$min]['default'] = true; - if ($ampm == 'PM') { + // Check for AM/PM + if (preg_match("/[pP]/", $ampm)) { $time_list['ampm']['P']['default'] = true; } else { $time_list['ampm']['A']['default'] = true; @@ -1991,7 +2008,10 @@ abstract class GlmDataAbstract if ($hour < 12 && $ampm == 'PM') { $store_hour += 12; } - $time_store = sprintf('%02d:%02d:00', $store_hour, $min); + if ($hour == 12 && $ampm == 'AM') { + $store_hour = 00; + } + $time_store = sprintf('%02d:%02d', $store_hour, $min); $r = array( 'time' => $time, @@ -2003,7 +2023,6 @@ abstract class GlmDataAbstract } function timeStore($in, $f) { - return "'".$in['time_store']."'"; } diff --git a/lib/GlmDataAbstract/documentation.odt b/lib/GlmDataAbstract/documentation.odt index 033ff2c493796a36624091725381f33c0af9d380..383a0b090c4a36ff1d27f8048adec6ea817c472a 100644 GIT binary patch delta 18703 zcmYiNV~{R9*M*BVSKGF2+pBHcwvD@O+qP}n-K%ZeHum#=r|RteC!;cJBtKJ0#x(<$ zK+=~$;1r}m!BByKAc26oV^R~~q(J|Z2CYlJ|7ns0fB65jX_4Oq4j=`!hN?Vx1Z(-C zE)t>~0%HV*HU9BbaLm15|8;BgA!wu(&>Q^7qxR>ok6_4-+co67I6z5ilN(r-_{C_h z_6aVh@p#xg3yZ1;5lD!Z#>|K*9f!rrAPL7Piq$9mP{EjCpKBKU_Xw^&Onxoe{GzK} zpFx*rT2i*_>|GoB9>628Tn!q6vaByLrLQF>i}{dFZzrz#RO$gwJLxc ziDA9n)riaeL5+A#(tKQ-)=M`O0#X_}mmbOJS{+$=DCfxL1sF}~UlxQ?45Dvf^&3?R zFM%XT3^$tN8CpKVQb(#)QCy}fE&bn$63VhacvBUJ<~mS1a4CpvSIE*$=CmOiN-4@i zvByha|9^MC?_)G|0JW$Pn~k`_h~AV3duT{*%<)RAWc;u_yjS0d8Pt{$&Wq<<`%2HM zH=ytL1&~Wi?0z&f?%wSP&~%A(Mmoa>rFGK`tu!ASYdSo<99{lzlr%VBzrPQ5c)oh` zpicL4^WjC);p5@Y1xwAvBanwwpNoy72&$ymf5ZH*im!Sn)`36*LE*^{%a#3g`}-N} zxKPt3j78(Q1I<Mu)XzwdY4 zZNv?*1#?tHZ|h3OB~Dx+nogJYTw3~Y)t6*7ojFeYAH26=2R!9cP`W-)-)+EVwXs7u zx@=y93K+Ak~-fsOYiL~iW4d@QzGtN#+^jCX+mj{C#PqCH*c zc#%=LZDaMF4?85poM%sc;2Hq=u{Uq_Rc@zq6uliiQ1y^z{Y*{{5Y&^Dav34Hz-}~{ zmB=Jk!m_rm-TIa!uzA_$m7hl+;1Ip%;M`M@`#9o;RX-<>CwrP_g&H?pG`+g$vRRrP z2o1f>!ZxY!RC0p?he-$WPaqj+s#!la<8&3gPM$vrXR6G=ZzKYZlN(^Zb4?KN}a8G~lt2cO1(oWF1;}jei@um4{ zJ5FAggS5Ed&YtvWy-Kt}08P$>3+HvX?pP;~gW%2{k~gk&n1?PC^u5%=Lru}w4SmDm z!nhj<>*4*i-XgA6_gWid@OW`{_VV&_7a3#^H_yYm_55!~avfmZ%dKm4`gbb1aHi20 zF*gwna(RDe;$Y)}EosUyW)h9Ay;LT|O0BI^oHgk!)SND&LKh`YBUVgX*>=9Iyi}Ip z0y{;X+*Teou71uE^b9x|Fh?A4vu(YF*uJ`z!q|^n+f)K|ukd+frP3B;=dvZSqJPfW zhW_0F*Q`AU4FWjWLpA87nbWoID2}EMbSvdi;R`M)IVLVGyX>gKzov$SD+?wy!@65j z&&8P+5a~_-cXGDS%u!7Ns8?tFqpH!CE3`I7)e^mt^+i+PapP4E_5>nafoLLQ=4Qlb zV6uy}4MuiD%7WH=)=eLEBJsQ1B@dUKYaMHen>R<;feKh5xgw!1aAAO0BFM+{c~4-6 zrsDo#W2@l+zJJgg2--T`>OMwJw6#Wn6dk_YM70|}H2XBXX}8d2Y$Cg5qmSe?E9Y1D zZvviwgqJxKB;W__@y$QY2^$UI_xj`YDLBXT6bYrtz?g5;$nnyOOZ#e*gQ z$0q#vGJnQ+){-{Nk!|?IgH)}`a?5rFAi2%Eh?ZW_8)V_;5ZU;8+7Dyh_6_)VsI-@7 zB^<8FTlcG3{xoHkZomH%-z=h_}*>VsEBpe0Gku+4-s-*oh;fO{_JGQo;m~>(! zk7G)DLtb7=C!aQHPa-Q_E&Yb{83BX?$YM*o_R}cA>DhQo)-%9_WghH%p$vJ(%J2_09ERB=!sR1~dtOz0N!JS31)ejWj7r#HRmElr4~0 zb&CGuj)3qZ8zXTrqvONAJ?q3Ig-Jxg2Pvr7*xv91UtZdaJG}Q{#f}pTT6bUvaOTFI zeDi)tqTv_0G|?BCSeg0}4};Z6a>!oCeT+W$alMXf8zuRF-JjOr_ymPrU7dDZLPV&C z_WnytwFQ5bupeLx38-6N!6?+UuCz9jSy`(tgfLxVW}qnb#A3>s3#I#~FzLWM+3X7jG@{k;=g^hlZYL6{dG!4C;Kz-n2--jM zV9bPlkV{hTII0SF#jTLTENT!V15HDo#V6*Pj^9mF&|ftCK5FkYMC^;+xQv4^wn%MS zZ*;(rn!HOo02eE6Uz^Cszvn=F7!)fj7LoM5MABjH$2>4*^=)eCXuoFz`2S(ci0SV& zw-1S%S;b}!z#T+if(?vCV)bpmr<}W|s@zfaknN)MhV?t+8lXY4tU`U7tX zcX~pw$C>Zx9~GZyay8Qe@SdUyWqx_1iD3%yA5r46Fw#Wax5T$-TTQMfl09}^!v<;O zJ%KKOt3G1f@RH{EPQ2k7`|y;8uNTOV+q90tKB%ZcvdhwV{b}hcQP4YRWkYCDo{=wS zY^Uejn-8dG0z>o>T1UiNEnYND47cR8H-0m!)DxyKk|hI4O+tMIkcbPyQVt6%)aWL; z$x)cJci6M`5F0eOebo`hO3qJz-=I23t5F@0whB6+al!4itS9lgGR#vAJsUZj%LE1I zsasKxJq{Q!mi*$xlA}~s$(VVbT2@@usUEmAx;s^VA9lP$br zn6jjtYp8lYtGHVXZP0kfsaD#$SGs~Ec_&_2TbtQ-!V#1o`FaLHa7`)Tj94B?ge8Zr zpz3Ywhb;e&bZ{-=I!Qa+bX9>Z8oZC-grpp_A)ObX$2}>4k$Cib-b?!S>saw5klRLj zsAMiH?jfO4+fQ(t)9zS3ESEefkZo$WyX;D6YDPz*5JuGnnQS_LSRNX!lvKGUGavW> ztA>P9DbrQ@TUJBGpk=?hVP&oS+5gh9fHkQK_XhgChTKLzG~!`0V)hrHKpmEqO-#ne zy8{Eze<588E5>$8#)`<4KK96$IR>rOD+ zJaEc`;FZE*I%5aMHa{7OQEY%_g*`WWfNuwc_|4#w<03Cqdt-{xigBuwf!dj0UP zhjXW98^B*NF1!0jz97436qB^OKSP(684pIO@dm*;^W%H~xOlr-$(F)@AyCa*koJmF z-j)gv{O56dL<>LJt^!27pNV+PhCYIDCRt9#;tu*PjHwz5f1-H>bEnr2O|5a4T}guR zHy~@e>0=7ihBsxs5VIbaos2aVx3dC3xr@Hj{>C$P3S<&VzG(W+E_K}zJnC2Os}aH& z_d19R_`;l(=b8Z0ADj)0s_(}V3`6^D9S_KpmP&%o0m#&3W(PGEu87<<|JlrDVCKjS z0gb|P5Uk2KbCv_=g`cBum7!c@t96;$5u0K?yPQ|n7piOGiV`w^YZgP59>d6xH-0gezvZ(JO%E1-_nyE_D1ar17z+!67+evyT- zjREXvvy1}GOWeBu+(7jT9YiApv^C@<5OgR+0uk3+X&UrYYXYPP%Ha(+LaTt}O z%cmJHIE*tcf)T1C1Qc^k_*{yV4i=}8DaRBKEGGmc3wdy1P@zfrc0~ZtLdIdW@fgv; zSrk=jie0nY^`^<1nqj+Yh?G+~@cJN9(){^@;(&qRv(MnOd*v&D$O3q;?+ooYw-TDI zw$EJ{!&2~XSfHuKerPp5%B?wRD!qsli>A`S54dt__8M247?Sbg_t{N9b_CiV|K1<4mg?CSnGQY3P`ncS+t@RAYTS z`L;u9w4=gdL7Bw82kK5?G6>FIT}wQ9cy}a%p{3@L-Qnjc)86_$=3Q{}gY#&#V%S?8 ztt&?=H6>9OgvLugq@GqA=u+BzjKg6q7TcQ)wjUxR&?_>Dv=eYFeiL}|P~ksj?@vgS z3$cQac7-a3Y%-2~Z{Q)18D^-1atQN^#PiCu4NQfq10r)wl@51}C`&fatV5xsX7`+q zH2sWxhGwhdG6>@7aBGEGt}q}7we9%|;ls}uc=!NS7T{Fwi%?@n=Wt|&gR_M*A2-T4 zXcWdcJwwY36a*OmI*LNsq~luy7NO=i^!vTG7e2b17ywSfynfyNsYTNYd|E`<$C!1K z<(50sns04RZM>+swx6_gcmI3d!9?XL+S^7gE{3H1yh7qt6 z+M<_z zL5ik<4vqmnqHx26l*%6_!(o?mxvCcmPG-&q$xzc&;8CzNwtyMYS!O+oz~D71DZ7#q zVG^$WIAXkqRMDrB3G4Fm)$klDSDCjSl1=W>@II_78&MTLF%V+-q^=hLtmenH_LUUCuhvTt>Bp zo*6GCOl3TeQRXE*&QQW2Q%LeZJ7oH1hkIg9#+oJ!*zse-nk@5v(oahUq?Y-rpq;rx z7tt|f*DWB13&rUm;wJXxkhQbxuC>Edw2w1P`H&zX0m@o>_C`ASLT_j}t8sy9Ytw5D zEC86;_El;LE+-gQuf3Qs=rCL0J=POq7+aXyjA~)LqXZ#BC)8vaSi*SLD#Vd1iBL<6 zr_FS}x$a7pnGTQF`|T|7tFgHuJK6-(Lb=PW(5xWU|Q&5TfOtuj1~kd zuA=JXYUR%Cb6R~S|8_R|QtVI9cOoR!xBU1~$H)1l#q({oYzNc7zUFF`BMx0d}=7AAr-#@4(^`i@%^9h*H6z*sa|q27j$4 zHIr|f_M1`@7fkx1h0v0=3LPl*906>Xru(hZkex8WGW+@aeg=RKPsLbNEa+4$4IN=f z@hZpTZkbk@ku6b6{K~(B|4CR|hAAfd3W@>-d5w555CH7cYNjA zX^GNPtc*lABuWI7j?Mr5!2--jT=$vo{~&^Ve%b@HaRYhK!7m~`0(}MrH#U*`+-LG& z;lmhk9MI7kO&Y?VC7ggbv=!TGVt2d_?eJU(Aq5Q2$jrb>uUX^^f`iIDYMj1AG8_Dg zVM{XWln6s@tsN$p2-!Rj+O%O9W`;QnWB1>QUx-}bK(F%N4UPRYBmsAH_d`}s7z~&H zf{>+;Ti_;d1^RqnH9ub%TJkl8X006Xf=4BFU$hqe6Mysj(jd-2yN^Y_{Bw38A&_v7 zieoO+ObO&M4q5zMAdwWgKQdK8zn0HM@E^~3yM($l)*+ED!UYUCQ!GFLXI_7yhaHv-7PE{oqRagiNLiI*M!v z{Tlqh>+n64qURQXIl}M0*JAK#W(=y`3MU$F*;0_yp~8N7^yP4CSOS#80AkuBjlstF*u)+^JMT+W{SS1j^^dMyp_H~w{&ANEkU`at%^~e z+K-%}X*LsVHsb&(DS|dV%am@R-^0-LsH<{jYoR$IJO>EA>|udPxgAgH@9r{)ZvwRz zfF*?4x>Iwi@(#!=;sFapb;TEkj|gToB%32j4?kJU@LR4cc#E|rHZ81vN7r&LlVoE@ zM+g@0bku$8O*s9#ObvyA1d-0zDVsA}uNyXArG0-=>6LS!P-E$4?lFa$Trca9m2_@r zc!J?K7YHCugXWf~T#kxUBa{i+>q<(e=w)-fATA$^}EYi8c5! zPhCc+Gi#{5V~W)LWpvi#O&WUA@zb8Akt2wFnJPY+&0d*Dr7umN4f{R@=O*r0CCa$& zfD6Rxs@Iq$WPDaHbZc0quW&lP3xbws2(x#lMeo3aGm?uRctyv8rFMTM)o&jr`2D!G zG{V9tCk1n*VkSWAQgt4Z%=-I_df&WIOYP7dZmX{y#amRt3-HU~>s|A>#8Gv|&O#JH zn*hFsym&J%#%eo_^>P?{TM1Qkg4pr8`uXVSPskQXSq9`@ z_XFm?jb396f&G$!!BFx;^?H-V5tR(dwgJ9tyu16SQ(Mb2`C7Rx(N>MAhnZQ9rFOv_ zSeGGr00vd3^0QO#b}=AHIKm$AId!1~$k`9ZU)Z)ygccSVq{Ye^{H`$Ir-)*#BC|9! z3d1xA&ssTEGe>^<)V;=|C4$h}Nh{TSWX}ij9A7`Uj7o5t%Ub$gkv4SlA46DtUqBYl zm71~mJNMMw8ogh}oM2aB!*_X0R1Nxm@YIv+0m8m|u z@@UR(z9ajQ2nx*m2_0DezP=-4?7pv0i55H`nTtKNy>Xa-ga6Lx;nF;u8my9tvwUSX zTqNODu*~%l6h@LixcGOUgbZVakO6v0##GM4lhM%#^8$NM2`@=4BEl?x)tUeP@zk3Y zFQza5z>UlZ&b(8+gGEEgIK%>}R59J};8fxVG$sSx85pR;oYNxjAILCA?wkzx3R5a9 zHB%29rn)g#*Tb2l*^C1SJ#$zat&Pey*k3O-H<_ldmHfz++f|Xq2?ZvyngNKaIJOKl zW<@r{t~mj+)t+3&{C4AGbGn6#x!vKpB>3UZ@plxB(mCm~0kSc=3Z)NkdfFGG7>*@i z;BS7kL)Nr#+y5dUZ4Zd_8HS4WZM@EEUzp;=d~{ONVVSYOf$LNuK1u<}<25-lurWLi zyXLD`czofe!RT0OzG=F4ae#+%v2#VwM4(QcRFNlAdBjih7b zi)g9^_0=+6y=5o@FfJdJ5lim)I~tz}2KY!_6v%8#lbqsFBUasuxL)uha@ zD6nQ+y-%#}|A;;Iz(9+eSI@{bY8%m!N;h1LxUNs%q@_MV|COk%7F1O@w`s*tgX`Zo zI5=@8UfxH35XlNIF*)6w82rR}@pei|O^58DVc0ohXN)s_*nj+gC6 zIAU5L?#v(pP@}2PlVTP7v4G6Sx~kS=ME^2 zx9IiK73c~2JkcQ2wDpT96)U2nebQmt$>A{lCEJ5e5q6P1ZKvd3Q&%I!R4~%OfB@?N4q+r{G0^0vLnLRI)^ar>Gl{yL zRzU}BbSRaq6!F68rvg3&zg)^KB*03TQcYiQCL&)mD?AtElk7q{oAqaL7VNfXEe+7R4*RZN2WBHn`ciBk(7 zJ7gFDq?)STiqXpzD5;%>8JCJp{a?>d1nEEzbg)pdQDW)RAP0hS4k@&HbeW1;Xx*Yz zB#PSD92GSA6RNKM(?G4X8cks;^oigAsXZsivZdkqw4}$z3 z=qas5MOLYId@HHD+&Y%gv$-92`F-hE<-m*pevgu(ZWFH+smTRD)fm(6WdpZOwp`pQ#cYgR3 zqXp`Sq5+ovjpqq&?wOA3%Fu8#&?`eXz&IT4GN@7DH%CBjn&cf?mi;FjdBW=v?nfLT zc2i8ASha~UQ;nSViysDkJCyG>O%`NuPfWa!n&o`~Z$KXrR%PIo0<>zKns<>Uwn+g+ zqyU;^Jw>mD($#?+jsa!Qp`=%BhgLb1;#;2{=g}^6!5cqg+9o(oVgMaFInh*#F|lrL z;4j@R_}1K5ug`;F!1p0=jhDH@FOLAAXO;0#b><&(++IC{udWk zQb&=pN*n8m)$6>9Fgt{7`0&%xlT>V8Qk!K0Yqzot{qS2c1V{j=51>4?eChXDC z@C@pX_pZd0gwrOFXh|m}j?GUe(znoA!Z6tTE)$|Cwu%^Dc+yR5P@PNk6?_EPLBdRl z0|!cJ^6(!JUNW(R1_lPGcF|M64z8F>NKGTZy(Zmj9!cEGCo2N~NemFt zG_4-=EZCvQ%!f1<&XS|TRx-P zKvuXw7O+2g_1OQl37QF8hrk|`9tlfTykHz5JN?>|q6T~QpjB+v{z&{Q5e%fUo^I0)E}z@0W+K$F5g`pHCut6GrNm!JrDYvXFIrwyEOgw-ZFC zCr&mG@#DEPi0mo{0&##eNjDg^c~Y-UbQ?P(*rVs-2D(z-;J0ZcxI*nbEM+vmzcWyX z0zQeD75GYmdZ5$&qP#tej*P?j1CQjGcS6$ya|aETkw`7+ zd85gJ7_3m#ZCc6zPrv?<+UQ^LWcD4nL)LEjNt0?%HBErF>7F4gN{$9RyoHC>x#r9(?Q*#-9Jrw2}R5Nze;w09O0IpRX9ZdW=s)IM>4+JjjcUCA_naj@A@x3-;MtGVh3X~TS^(ou?4ybQ zN6(BiH!OfcYtOdLk&&t)7FI&lj`cdUlZ!STa}q=W*{UIt3G94nMrD$T(+>JOBSViOE+2dT9sWnZH+;V{opM09Vmo-wJCbZ@v73%M;;n?i5y~pQW4{PH{&^*CYW!8b*}1FWA3_N*_NZlv3=Fe!EL5J@!Qo_8bocBCPvx z0gl{JGJNJ*<&Z;@OXrYKWbqgOhMlwYCPPtLqO{%~FHz*0VOZef2;btnXaHCbiEj|H zCr#-bxx^4kyAL@Ql{v%T07`@OV>TYo34qC+_e>7K-#KSjpA=NS9zd>v7H|A%;2&Tj z1Z;chPr@Vyk87g@1Oc}-Jf5V;W#Rs8Qls5EZI>u73hE!IXS!SzNm}6(SSCYY_#}M8 zp06cHDpuZDcpoV{AB;ih((K;D(wh{ zBf)ayi9hu?q@xt+izuuruRTep5}VaiT^(9J44?PC;cJKp-*Mo(oJ3wPOorK(+WqlC zxM+mkuT6%;@Y)7fn~Kn(JrRZsNoShB@f(wpWv+(DsjMYg_fEZ4kFOhokyKT5%=CB+ z6L}_+t|D*%Iu3A%H-jKqF4WVrxR3 zZ?!aYosf(q8!VAJ!@OKL;egc+br%duq#!Rt8(`ETQbD7}q!grKl~BP&0^m18MmJo? zdtlKf%esNvh3dAW1-)=Xqj+&PuL>B9!?u#6t%eB#Jy$v_>h0=k>YrDTj88YO4yGkM0f6IAKL@ zVmf#VXj6>FklT**zFIb064<7Z4Rqd+MoDGVgz8xHjvtE$rw z`TRPXT~DP4OD4Z`8-VOM9bx87t#ad44j^wFIhD2q#;{ZZ6;|wn=ul^>ZBXvj&{vWI zZNdK1x5WKi7HzYyCVNU;V_B5LuKc~_ibYf!D_x!~(7t)L!@`xR1hmN)RPVaI`Lar) z(S?|9K@EPLp(jiTBbMk&Rj0XYPm~+2R_(C^btQ@%Or)&^Ye=#a3>8!8ccakZ$I7XOiiaO_oMEmaiqUSUBiGN5VQ--V66-a%@sC7W|bB$6@)`1)` zH+TO_Ln{jwWh@gs2GDTO!QBI~11|oTd54$SwMj2DB#&j4+V+vKyVFu^`*@xs_OlmG zw!~LDH#eXFMJY*Of%j{^@>+2MPyga~!&&K=>I|tm%S=f{CL*|2!nDN~Z(jRl%{_wq zt@%=Jz4D-_p4hqb=#R$W*RKT?Jv>8!+*Op;3!Vjptqi`;4zOls%Y%e7!7|sZNTDW| zqqrxU-|NKYOx~-g`2N}4T?0P7?fd>#;Bn4)#&)80%s&njGOI3!sn*3!W|qU!Q##re zg3;>_%z2h*N?E5A$*nwJN_=9>gFAe3NF*Niz824B&NJ{)2w}B$SwO99_4Xb|Mja&M z8C`V6|BktU1yEp4&%%!ms<=+V-iVp_pS%kk%g&m197jW zDA9Ar{&kx@k$H}Z)7SE)7$B2u!C7@$66~z>Y(jjK*5O*z8KOxw&AIWwb%{FMZ35o++W zf&V6*x#Gu&F=Li*pOC zs!tJF9RDN4W}#|nPSd+XaB`TF2of&B0-ZFcEN=P*P#1jk}$z3^CV$NmsY zgc@9FJiW>`nns-a>vdB;H{fN&hMe|)exx_+rQrioMIDnM%I$EA_I$!S@w z$}di1pY#Kx#C{9a&&|#aSa0uKTaE^H^-3y2EofP)6b;Dl2P$`b3J=`as~>;hcP8=T zMBV9oU(WlDTRKSXT3GLg4rKPRRrCE;B?Gsk-A3$6TgVJcZoVh%ZJ<i#ZE zxs(-TTPtVWAPEH7;}Ze&H?$lbKOI){V`=5MT$}=kU#v%hD4$zn@Ue3PL2erkO3yt> zX`9Ak>EHy@QHakLpeD@DvNDqV&Oe}-IWg$Y;giu?4Kq*+O)fl1Ly(smdR1dhzjACq zp)1sLGQB|s1sqZ_io3q|aY0p4<_3 zwkQI2UdgmS0DQb@W^)S2jC zlSQtrd!HxPa+|Cima+67yQS}zV*`Vz=qnUkRd55dXjY$D+OhxGqf9%&7-qii@49QA zO|}yB!;<-%M0If&frZYc;N74qcHtPdi9b~0b^DWu2x2F+w$ZdN#&Kw=7yA=*xXAIzDO zPFF^Vhqa|!)OsrH)wNUAwIiHw>(SC-UUF4aQ7-JG!$L})_WGa9p^PX-h2G{Lm)l|a zXLUS)Rczirj?I|s3yqmTvcUPDH1`c$BzShatwPt5}n;#tzXEen?Ram#Dvh=Whwxd`U99WCk@`%Da6xA=(AQuWn1+ z@ktkD{N-Q0R0-r-P@k}BqkRui2){u%z7)OTj`m5Y)%>HejcA3q;GfogsK30sf z);z=aEX@lm&6D;h7W})`OHM{MHc3$i2%?nmhnN$Ls@KATu{r%FOMK!>S^!N)Kt=UibR&t!0af;tBqZ+DyH#C+?n~%?IL%Qb~Tl=^^Exppz@PkIM0i?<_jee zwH5ju#Cm;eQ4r9KN~W+usQ`87wVaZi?jV$Bnce!we^=aaz7EqT^8=FW?$XAC4Joti zIeo3+wyQBHvjK=mWov?0Npy>p zUUiu@aL;E!LX7Pk3G~gGL_g}`L-rbIiz|9NLFNM%mz0G^|=n&xW9=V z)@fvt#$k5ahCxMnR+>0&A(FHC31{i(J$`yxW9frflN_49X-1IU#hTLnIwg;mMrfgL zoBkOoY7fF4!eMl$>E8m#LmIo1dh4}lPsF6wByL)?9m^ilJzf`(#Fe4!@x!DN4(`$u zg_S{4mc9)E7!(_`;`!+Q4PvieWd%=$ru%%nR*RSH*pazh z0iR;&PN%{$7AMk%=2Xq(J_EjrXSVmyGwq3RKE@hd9|Xr!vX&NthN>wNr254p#E5f% zG@P_TCbvP0C53SJ0k=B-`*iZTx=+p231f&X1GIg~=RZtm`bW`tG;oa=9{Prtrv0=9 zTNN-48MnxkkYuZ97GoL2w#`bUUw;ci0Z|(H)$CPRA-plTFj(U{@y%J?8zX{ADe9$} z9tv9*UH{RgdI%8^|Gb(K&rUprReujW4eiSDuawn1$;s2vj90}&#c)k-kNyOwb2 zfVJ->#7Yb&M%V$@&Wb<9G=W*-@r#rP_L(@jG)*e>*s#+WtU`WRC;3hcGm+{&_6b1l zrrb%mE9@QS6JyzVFwwA~yj$dY=|yqG9IV>*e5J|oHQbvmRF(oka>Qq5c-TQ^10@*~tCXc}pI2=1^Cn^MY=xi|U{lzO>Z!bmXa7nB%uDPi>-@xE?OSi7u$y~RfNYZf3O`?1Yw5fKW~J1hf=RP%BIJ!% zUPnyb$t#MPV^KrL+R}%@i1xP|K^~f9G`4iMBDR4>B3-_^nVn`DEB@9c6jLYb^}u_1 zrA#2%QwbE0ZWzl2F88?dO6L=NrTrp<8zeFsnbU~J_evaK$5De*a5z8;Cm;Ml&D3@y zX88p<^ERMlYq(h{D~8`d)llEE2e|kZqTzlq;AM9&PX2DJYb8Zu%6iZgny#f(LFJ0G zsW!T0=I3qrCjrE0k;=puE=X=v)eY|2K*@>rszPyYBuGjAHX$)ihIClu^IOI##i-?I zl4RIED@RNVmLQCO?GNBO?hu893*L8+yR^@FcmLfXxeQ@=5bMGlYFVbJ_s z;DEHyp&bji;2}t;`Z6l4!ll)tA*mKzo>@ zk;S(~Qo%(ds{nXFwl#A?9PX!R!|^AiGOY(Ag1nN~I5%%>a3!IYHb)69BU@BGlfOAB z%!+mgiFqr*%+`8x@$aU(!sZF&x`IFMbh}PK%Nt~1IQy8rzD_yL{;y9FaCfC2$Jl>! zmIl)P=vp5v+>K-7iB*GarvJuAtGK)U!Q79rPzDLC;{gakS>0jY2g^d_*72&5eK|YA zF#7x(<5omwiemaLVf@WGELA(oP78oblOtl3 z7t=fwKyHbVeH&nHSlBnkJ2UlyP^lifM3>1DCW}g`fO#zV{qHx=Aojm@WB1&kkzEaZ zhUe2GDt$m>6V3cT!d|-W^>c0Osg)j3ZhsFixPC*VTthHzmv1FE2ML)yAEf&VVoG@G zBrU}gv-5aysoFvD&3iu4WBT& zV}6)*jk`)gpUW$7=K=CR0t(U)kTXj=JC4#oK*bRtK>xq~c1TFb|Mj;g8AVb9k_jX^ z2T5K0lT&HnVB^hd?FaSx!>a!S7X5#J)R>F87^zzR@tGP;buHYqb?w%+f40ZIjlf8t z6}G=p6HM-aLlOijOyBmDNxnAT_}ct9hBaxPiI4~iL|u;~u2_iD*Zd)@~0y~|x{Bd>uO+rNt08+i>WPWPO+e$ROUTAb9mlbt)S z_@`Y;@0^%A<_z;OG6JiXH&k2F?-&qgG1fQ9&!4k=7RF$7Vh9QIh0F(rahGyKsfZ!S zyGv7{ju!u+*hbKR?=t!uFPKMHC5`Bd(e}cM0$D@C$E3tCf5MG~ZDpH1=+(EWmY7;Z z+XCtKr-(QFKV4jTIFwr${}@{a4Q2{6VN|wk+2u|W*A>lVEF~0TLSk%1g~13#UGMyl7z;RHCeKcExFOil1sQZExMLFbnD^1|D5M{-uL^R_jk_uo^zh>dA|2V-oVEL zJuMiLj3#Sh=A3$w3j$|!&&1`Sqk*{pufLB#DFtVq3^VmC(i(`W6X`)Xxz$5SihF$J zE=D8R>a*JT|3^yU!2xG-Pb*E4SUnAcWBn^ub8DJrDneMkigcDt<2s`dpsRwsOys+-%wA= zKG@Sq{>!2#QR77dwCW_{QS4gMfp^j#`GT#-^+_47Ltv@|`Lwp`Xpu%}w%5#}baVfb zxZX{vsa-n?(3V-}M1Hj{oK%%3O(ZQh%PTfa!`#ejAoq}KS*{(HSL=lWO_bQ&Z{OA7 zcC{U?oUBIbllbi>hsJWt<{;3KRylssAKe`HKWzI_j+`-(cW%f%CtP3hfbpcw;7(aN zP>e^JX^BK+SSrcLE{N-)hgu8{A&;)%A@1y22qD6=KH*tx3=x$u-@#vTmDjb*ynFJf z8iGS7e)DNsiFNiLe;K!1p6xZ3%P7;mtWuR0`@w3|^%|RV-UFALX@)Jc-;+dQVf`;q z5?UUtvK_=P+qyAf>QM6Kwr9?g_qs8fitgxlDS8S_U)FAn(oFORa%Cf%;gw69^~`z2Rwj7%X) zGH28++pC|)ZeL#3vRqlTmOVuh>9hAT6>cKo&wtFKwcYaZn?_sQDXs#B4R769n7e&r zZ-`h^VSZOmo!rx%ypJS43biA6P<~YCV4uG-ML#f20DG+5e8^WpUgL1aBFw>Cn1v(^ zMCwOZQiY;)Ep!GCdsc*4gnHhq7Me=5rd?{041RmB<*eocrdmrTLF_luL`=&C30Q~z{z}M%1W^gUIs7-c)bczm?7oY_Q*w;cy{tZhyijHA z@LI>;(!J+~Pfeh{_z|@(bM}-3m0rpSNX@sw05Y7?Z>zci1|`3f5@@*RI5lY zzo8g$Vu@#5DkP|`FtV4Aq%PaZ&!84Jh28CQ8Ar|Nf~KcZAf^-x7GC1@o4``_OHX|+ z6)+gh)K)s8v`)lxu-{JkMM^k!?3c(TP?C9Z_Q(Y+wH&i1tvx%T3XfA07@|lKEElS;)9HQK)L2qrN%X;r>-M>r}j!9IucfA(NvTq?ZYKhn2T(J7K7tQ0P zY-hGZ$KjtJ^@Z!JzcMZ)MEewuz^bn_3Z@pv8n>X~q>FrpsU7h0w406(spaX1;K54e zD@}_utX@Y-q;tWD?@3{B?C_V2zUyjsAgcDy_N89lDvXX?K!~;X*Cnr;cAsA(sL#ji z+k1>>*!7x?R?P~L#)Hc{*N=(DsY$AU002ZN0slKDa+3E5jCbx3Y03t>lQl^I9>#l2 zIj6$jfhSVd9lH@~r+h-8a!G0Y7!_XHAWxtdMkJd5<@X>RJ?`{2$uOkR=X@oCfRzu9+ zLvgidmOb{rF)gZ|)hyutDe{+S&3m0^m?xc;vKf^2^bqT=vW2ucih5L4!I2cv!a4H@ zSyrXP@UCkMiZV{puTKvMi@js$dOtTnG!H41B$jCHYaiGL?d_+R{vDrKO7m3-?wxyO zXk`bqp=v6FzYeT9tU_#1+_hpAjpjY$0e}q1|JJG`_4WtRjUqJ(_kZEps9Hm$qruEP z5$LAEHXxC%x8X~sp~06-VNioE^b^DKgtx>d(=-KtTo{aK_8W0cv;#l6ZF0AAuVovo z`$|UX{@)X@Vd!iG$1%({+IEJ4C^x|J=e-1k<*3Q6_iWyRBEV(~0G)G?M(Z(~rE|;l zY_iA60N_Uman}g*J8xsn!wU!Cz>ma>a*#YUuq{U#v(8ca#hcB~ojx*m`nHa9`#zV$ z-QVXdAvi=M$n)$Ep8qNWf#_T$Z%;Oul($E4bJsQ+7)h5E{XXUo2ZxE|F$Gynr47|w z#2ZQjSDA`GVId97qM=l_WNNuCi1$BL+&6KPy#u>)^*0{Iak&oAL0_i&23$`nlnx%u wRo;L;Tv$X0#c1-XTdC7WL(9~-va|UB0I`V}0H*2S9DOG^lLr%UWUPDs1wWSHOaK4? delta 18667 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 LKGcS}a?<|+UqZ~o diff --git a/models/admin/dashboardWidget/index.php b/models/admin/dashboardWidget/index.php index 5a17e713..1b99b3e5 100644 --- a/models/admin/dashboardWidget/index.php +++ b/models/admin/dashboardWidget/index.php @@ -165,8 +165,8 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers 'haveAmenities' => $haveAmenities, 'haveRegions' => $haveRegions, 'haveCities' => $haveCities, - 'pendingList' => $pendingList, - 'addOns' => $this->config['addOns'] + 'pendingList' => $pendingList +// 'addOns' => $this->config['addOns'] ); // Return status, suggested view, and data to controller diff --git a/setup/adminMenus.php b/setup/adminMenus.php index 570852af..4385537b 100644 --- a/setup/adminMenus.php +++ b/setup/adminMenus.php @@ -30,14 +30,13 @@ * */ - // If user can manage all members, then show "Members" menu item if (apply_filters('glm_members_menu_members', true)) { $mainMenuSlug = 'glm-members-admin-menu-members'; add_menu_page( - 'Members', + $this->config['terms']['term_admin_menu_members'], 'GLM Associate', 'glm_members_main_menu', 'glm-members-admin-menu-members', @@ -49,8 +48,8 @@ if (apply_filters('glm_members_menu_members', true)) { // Add a sub-submenu for the "Member" "List" page add_submenu_page( 'glm-members-admin-menu-members', - 'Members List', - 'Members', + $this->config['terms']['term_admin_menu_member_list'], + $this->config['terms']['term_admin_menu_members'], 'glm_members_main_menu', 'glm-members-admin-menu-members', function() {$this->controller('members', 'index');} @@ -59,7 +58,7 @@ if (apply_filters('glm_members_menu_members', true)) { // Add a sub-submenu for the "Member" "List" page add_submenu_page( 'glm-members-admin-menu-members', - 'Members List', + $this->config['terms']['term_admin_menu_member_list'], '    List', 'glm_members_main_menu', 'glm-members-admin-menu-members-list', @@ -70,8 +69,8 @@ if (apply_filters('glm_members_menu_members', true)) { if (apply_filters('glm_members_menu_member', true)) { add_submenu_page( $mainMenuSlug, - 'Member Dashboard', - 'Member', + $this->config['terms']['term_admin_menu_member'].' Dashboard', + $this->config['terms']['term_admin_menu_member'], 'glm_members_member', 'glm-members-admin-menu-member', function() {$this->controller('member');} @@ -84,8 +83,8 @@ if (apply_filters('glm_members_menu_members', true)) { $mainMenuSlug = 'glm-members-admin-menu-member'; add_menu_page( - 'Member', - 'Member', + $this->config['terms']['term_admin_menu_member'], + $this->config['terms']['term_admin_menu_member'], 'glm_members_main_menu', 'glm-members-admin-menu-member', function() {$this->controller('member');}, diff --git a/views/admin/dashboardWidget/index.html b/views/admin/dashboardWidget/index.html index 883d3461..f888b5c9 100644 --- a/views/admin/dashboardWidget/index.html +++ b/views/admin/dashboardWidget/index.html @@ -2,60 +2,60 @@ {if apply_filters('glm_members_permit_admin_widget_members', true)} {if $membersList} + Number of {$terms.term_member_plur_cap} Listed: List Members{$numbMembers} - Member Search: + {$terms.term_member_cap} Search: + - {/if} - {/if} {if apply_filters('glm_members_permit_admin_widget_warnings', true)} {if !$haveMemberTypes} - No Member Types + No {$terms.term_member_cap} Types Add {/if} {if !$haveCategories} - No Member Categories + No {$terms.term_member_cap} Categories Add {/if} @@ -79,40 +79,41 @@ {/if} {if $numbMembers == 0} - No Members - Add a Member + No {$terms.term_member_plur_cap} + Add a {$terms.term_member_cap} {/if} - Number of Members Listed: List Members{$numbMembers} - - {if $haveBadLatLon} -
-

Records with Bad Map Locations

- - - - {assign var="i" value="0"} - {foreach $badLatLonList as $p} - {if $i++ is odd by 1} - - {else} - - {/if} - - - {/foreach} - -
- {$p.member}: {$p.reference_name} -
+ + +

Records with Bad Map Locations

+ + + + {assign var="i" value="0"} + {foreach $badLatLonList as $p} + {if $i++ is odd by 1} + + {else} + + {/if} + + + {/foreach} + +
+ {$p.member}: {$p.reference_name} +
+ + {/if} {/if} + {if apply_filters('glm_members_permit_admin_widget_pending_info', true)} {if $membersPending}
-

Pending Member Information

+

Pending {$terms.term_member_cap} Information

@@ -135,5 +136,3 @@
{/if} {/if} - - \ No newline at end of file diff --git a/views/admin/member/header.html b/views/admin/member/header.html index f556daf1..cfcdb418 100644 --- a/views/admin/member/header.html +++ b/views/admin/member/header.html @@ -10,14 +10,14 @@

{if $haveMember} - Member: {$memberName} + {$terms.term_member_cap}: {$memberName} {else} - New Member + New {$terms.term_member_cap} {/if}

Member Updated

+

{$terms.term_member_cap} Updated

{/if} {if $haveMember} @@ -15,7 +15,7 @@ - + @@ -24,22 +24,22 @@
Member Slug:{$terms.term_member_cap} Slug: {$member.fieldData.member_slug}
Date created:{$member.fieldData.created.date}
- + - +
Member Display & Access:{$terms.term_member_cap} Display & Access: {$member.fieldData.access.name}
Member Type:{$terms.term_member_cap} Type: {$member.fieldData.member_type.name}
- Edit Member Name and Status + Edit {$terms.term_member_cap} Name and Status
{else} -

No member information available.

+

No {$terms.term_member} information available.

{/if}

 

@@ -51,11 +51,11 @@ {/if}

-

Member Profile Versions

+

{$terms.term_member_cap} Profile Versions

Show archived information   - Add New Member Information Version + Add New {$terms.term_member_cap} Information Version

@@ -101,7 +101,7 @@ {/if} {/foreach} {else} - Click here to start entering information for this member. + Click here to start entering information for this {$terms.term_member}. {/if} @@ -109,12 +109,12 @@ {/if} {else} -

You do not have any Member Types setup.

-

You must have at least one Member Type to add a new member.

- Click here to add Member Types. +

You do not have any {$terms.term_member_cap} Types setup.

+

You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.

+ Click here to add {$terms.term_member_cap} Types. {/if} {else} -

No member currently selected.

+

No {$terms.term_member} currently selected.

{/if} diff --git a/views/admin/member/memberEdit.html b/views/admin/member/memberEdit.html index 7b6affee..d4c0b011 100644 --- a/views/admin/member/memberEdit.html +++ b/views/admin/member/memberEdit.html @@ -6,12 +6,12 @@

{if $addingMember} - Add New Member + Add New {$terms.term_member_cap} {else} - Edit Member Name and Status + Edit {$terms.term_member_cap} Name and Status {/if} - {if $memberUpdated}Member Updated{/if} - {if $memberUpdateError}Member Update Error{/if} + {if $memberUpdated}{$terms.term_member_cap} Updated{/if} + {if $memberUpdateError}{$terms.term_member_cap} Update Error{/if}

@@ -32,7 +32,7 @@ - + - + - +
Member Name:{$terms.term_member_cap} Name: {if $member.fieldFail.name}

{$member.fieldFail.name}

{/if} @@ -49,7 +49,7 @@ {/if}
Member Display & Access:{$terms.term_member_cap} Display & Access:
Member Type:{$terms.term_member_cap} Type: {if $member.fieldFail.notes}

{$member.fieldFail.notes}

{/if}
This "Notes" field is not displayed anywhere else. It is strictly for making and keeping - notes related to this member profile. + notes related to this {$terms.term_member} profile.

* Required

{if $addingMember} - + {else} {/if} @@ -94,22 +94,22 @@ {if $haveMember} - + - + - + @@ -161,17 +161,17 @@
Member Name:{$terms.term_member_cap} Name: {$member.fieldData.name}
Member Display & Access:{$terms.term_member_cap} Display & Access: {$member.fieldData.access.name}
Member Type:{$terms.term_member_cap} Type: {$member.fieldData.member_type.name}
Date created:{$member.fieldData.created.date}
  -

Member Address

+

{$terms.term_member_cap} Address

The map below will display the likely location as you enter or edit the address.

Notes:{$member.fieldData.notes}
{else} -

No member information available.

+

No {$terms.term_member} information available.

{/if} {/if} {else} -

You do not have any Member Types setup.

-

You must have at least one Member Type to add a new member.

- Click here to add Member Types. +

You do not have any {$terms.term_member_cap} Types setup.

+

You must have at least one {$terms.term_member_cap} Type to add a new member.

+ Click here to add {$terms.term_member_cap} Types. {/if} {else} -

No member currently selected.

+

No {$terms.term_member} currently selected.

{/if} diff --git a/views/admin/member/memberInfo.html b/views/admin/member/memberInfo.html index 651a68e2..aeadb429 100644 --- a/views/admin/member/memberInfo.html +++ b/views/admin/member/memberInfo.html @@ -12,33 +12,33 @@ {if $memberInfoID && $memberInfo} -
Delete this Member Profile Version
-
+
Delete this {$terms.term_member_cap} Profile Version
+
{if $memberInfo.fieldData.status.value == 10}

Cancel

- NOTE: This member profile is the currently active version! You may not delete an active profile version. + NOTE: This {$terms.term_member} profile is the currently active version! You may not delete an active profile version. To delete this version, please select another version to be active or change the "Profile Status" on this page to something other than "Active".

If you change this version to something other than "Active" without selecting another version as active, there will be no active - profile for this member. Members without an active profile will not be displayed on the front-end of this Web site. + profile for this {$terms.term_member}. {$terms.term_member_cap} without an active profile will not be displayed on the front-end of this Web site.

- Click the "Member Dashboard" tab above to see all profile versions for this member and optionally to select another version to + Click the "{$terms.term_member_cap} Dashboard" tab above to see all profile versions for this {$terms.term_member} and optionally to select another version to be active.

{else}

Cancel

-

+

WARNING:

- Clicking the "Delete this Member Profile Version" button above will - delete all of the data and images displayed on this page and any other information in the tabs that may show to the right of the "Member Profile" + Clicking the "Delete this {$terms.term_member_cap} Profile Version" button above will + delete all of the data and images displayed on this page and any other information in the tabs that may show to the right of the "{$terms.term_member_cap} Profile" tab above.

@@ -46,24 +46,24 @@

- This member may also have other member profile records. Click the "Member Dashboard" Tab above to view a list of all profile version - records for this member. + This {$terms.term_member} may also have other {$terms.term_member} profile records. Click the "{$terms.term_member_cap} Dashboard" Tab above to view a list of all profile version + records for this {$terms.term_member}.

- Only this member profile version will be deleted. Other member profile versions listed under the "Member Dashboard" tab + Only this {$terms.term_member} profile version will be deleted. Other {$terms.term_member} profile versions listed under the "{$terms.term_member_cap} Dashboard" tab above will not be deleted.

- There may also be "Archived" versions that will not normally show up in the "Member Dashboard". Click the + There may also be "Archived" versions that will not normally show up in the "{$terms.term_member_cap} Dashboard". Click the "Show Archiived Profile Versions" checkbox at the top right of the versions list on that page to include archived versions.

{/if}
-

Edit Member Profile

+

Edit {$terms.term_member_cap} Profile

{else} -

Add New Member Profile

+

Add New {$terms.term_member_cap} Profile

{/if}
@@ -80,7 +80,7 @@ - + {if $memberInfoID && $memberInfo} @@ -98,8 +98,8 @@ Categories & AmenitiesImagesCredit Cards - {if $memberUpdated}Member Profile Updated{/if} - {if $memberUpdateError}Member Profile Update Error{/if} + {if $memberUpdated}{$terms.term_member_cap} Profile Updated{/if} + {if $memberUpdateError}{$terms.term_member_cap} Profile Update Error{/if} @@ -108,9 +108,9 @@ @@ -145,7 +145,7 @@ @@ -158,7 +158,7 @@

{$memberInfo.fieldFail.notes}

{/if}
This "Notes" field is not displayed anywhere else. It is strictly for making and keeping notes related to this - member profile. + {$terms.term_member} profile.
Member Name:{$terms.term_member_cap} Name: {$member.name}
Profile Name: - + {if $memberInfo.fieldFail.reference_name}

{$memberInfo.fieldFail.reference_name}

{/if}
- The "Profile Name" field is used to help identify this particular member profile. Members may have multiple profiles, + The "Profile Name" field is used to help identify this particular {$terms.term_member} profile. {$terms.term_member_plur_cap} may have multiple profiles, only one of which can be active at a time. Multiple profiles make it easy to manage separate sets of information that may be used at different times, for example seasons of the year or for special events (i.e. "Winter Profile").
Short Description: - + {if $memberInfo.fieldFail.short_descr}

{$memberInfo.fieldFail.short_descr}

{/if}
@@ -262,7 +262,7 @@
Map Location Using Above Address

- MAP USE: Drag the pointer to the desired location for this member. + MAP USE: Drag the pointer to the desired location for this {$terms.term_member}. Use + and - buttons or the mouse wheel to zoom in or out. Click and drag anywhere else on the map to move to another area.

@@ -554,9 +554,9 @@ {/if} {else} - Note: Images may only be added to member profile records that have been created. + Note: Images may only be added to {$terms.term_member} profile records that have been created. You are editing information to create a new record. -
After you click "Add new member" below, you may come back here to add images to the gallery. +
After you click "Add new {$terms.term_member}" below, you may come back here to add images to the gallery. {/if} @@ -577,7 +577,7 @@

* Required

- +
@@ -586,12 +586,12 @@ - - + + - + diff --git a/views/admin/members/header.html b/views/admin/members/header.html index 4e3963e0..c70bcd42 100644 --- a/views/admin/members/header.html +++ b/views/admin/members/header.html @@ -1,8 +1,8 @@
-

All Members

+

All {$terms.term_member_plur_cap}

Main Dashboard

@@ -9,21 +9,21 @@
{if apply_filters('glm_members_permit_admin_members_index_member_config_warning', true)} {if !$haveMemberTypes} - - + + {/if} {if !$haveCategories} - - + + {/if} {if !$haveAmenities} @@ -49,23 +49,23 @@ {if $numbMembers == 0} - - + + {/if}
Member Name:{$member.name}
Member Type:{$member.member_type.name}
{$terms.term_member_cap} Name:{$member.name}
{$terms.term_member_cap} Type:{$member.member_type.name}
Access:{$member.access.name}
Created:{$memberInfo.fieldData.create_time.datetime}
Last Updated:{$memberInfo.fieldData.modify_time.datetime}
Member Info Status:{$memberInfo.fieldData.status.name}
{$terms.term_member_cap} Info Status:{$memberInfo.fieldData.status.name}
Reference Name:{$memberInfo.fieldData.reference_name}
 
- Member Search: + {$terms.term_member_cap} Search:
You do not have any Member Types setup.Click here to add Member Types.You do not have any {$terms.term_member_cap} Types setup.Click here to add {$terms.term_member_cap} Types.
You do not have any Member Categories setup.Click here to add Member Categories.You do not have any {$terms.term_member_cap} Categories setup.Click here to add {$terms.term_member_cap} Categories.
 
You do not have any members listed.Click here to create your first member. You do not have any {$terms.term_member_plur} listed.Click here to create your first {$terms.term_member}.
- +
Number of Members Listed: {$numbMembers}
Number of {$terms.term_member_plur_cap} Listed: {$numbMembers}
{if $haveBadLatLon} -

 
Member Profile with Bad Map Location Information

+

 
{$terms.term_member_cap} Profile with Bad Map Location Information

- + @@ -96,12 +96,12 @@ {/if} {if $membersPending} -

 
Pending Member Profile

+

 
Pending {$terms.term_member_cap} Profile

Member Name{$terms.term_member_cap} Name Created
- + diff --git a/views/admin/members/list.html b/views/admin/members/list.html index c4abd3ca..861fe670 100644 --- a/views/admin/members/list.html +++ b/views/admin/members/list.html @@ -7,7 +7,7 @@

- + Categories: Text Search:

-

List of Members

+

List of {$terms.term_member_plur_cap}


{if $paging} - {if $prevStart}{/if} - {if $nextStart}{/if} + {if $prevStart}{/if} + {if $nextStart}{/if} {/if}
Member Name{$terms.term_member_cap} Name Last Updated Reference Name
- + - + @@ -63,14 +63,14 @@ {/foreach} {else} - + {/if}
IDMember Name{$terms.term_member_cap} Name AccessMember Type{$terms.term_member_cap} Type
(no members listed)
(no {$terms.term_member_plur} listed)
{if $paging} - {if $prevStart}{/if} - {if $nextStart}{/if} + {if $prevStart}{/if} + {if $nextStart}{/if} {/if} diff --git a/views/admin/settings/header.html b/views/admin/settings/header.html index a69ee22e..88b56402 100644 --- a/views/admin/settings/header.html +++ b/views/admin/settings/header.html @@ -3,8 +3,8 @@

{$glmPluginName} Settings