http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/static/js/jquery.validate.pack.js ---------------------------------------------------------------------- diff --git a/balance/modules/profile/static/js/jquery.validate.pack.js b/balance/modules/profile/static/js/jquery.validate.pack.js deleted file mode 100644 index 8ec2fb7..0000000 --- a/balance/modules/profile/static/js/jquery.validate.pack.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - * jQuery validation plug-in 1.7 - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright (c) 2006 - 2008 Jörn Zaefferer - * - * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ -eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.H($.2L,{17:7(d){l(!6.F){d&&d.2q&&2T.1z&&1z.52("3y 3p, 4L\'t 17, 64 3y");8}p c=$.19(6[0],\'v\');l(c){8 c}c=2w $.v(d,6[0]);$.19(6[0],\'v\',c);l(c.q.3x){6.3s("1w, 3i").1o(".4E").3e(7(){c.3b=w});l(c.q.35){6.3s("1w, 3i").1o(":2s").3e(7(){c.1Z=6})}6.2s(7(b){l(c.q.2q)b.5J();7 1T(){l(c.q.35){l(c.1Z){p a=$("<1w 1V=\'5r\'/>").1s("u",c.1Z.u).33(c.1Z.Z).51(c.U)}c.q.35.V(c,c.U);l(c.1Z){a.3D()}8 N}8 w}l(c.3b){c.3b=N;8 1T()}l(c.L()){l(c.1b){c.1l=w;8 N}8 1T()}12{c.2l();8 N}})}8 c},J:7(){l($(6[0]).2W(\'L\')){8 6.17().L()}12{p b=w;p a=$(6[0].L).17();6.P(7(){b&=a.I(6)});8 b}},4D:7(c){p d={},$I=6;$.P(c.1I(/\\s/),7(a,b){d[b]=$I.1s(b);$I.6d(b)});8 d},1i:7(h,k){p f=6[0];l(h){p i=$.19(f.L,\'v\').q;p d=i.1i;p c=$.v.36(f);23(h){1e"1d":$.H(c,$.v.1X(k));d[f.u]=c;l(k.G)i.G[f.u]=$.H(i.G[f.u],k.G);31;1e"3D":l(!k){T d[f.u];8 c}p e={};$.P(k.1I(/\\s/),7(a,b){e[b]=c[b];T c[b]});8 e}}p g=$.v.41($.H({},$.v.3Y(f),$.v.3V(f),$.v.3T(f),$.v.36(f)),f);l(g.15){p j=g.15;T g.15;g=$.H({15:j},g)}8 g}});$.H($.5p[":"],{5n:7(a){8!$.1p(""+a.Z)},5g:7(a){8!!$.1p(""+a.Z)},5f:7(a){8!a.4h}});$.v=7(b,a){6.q=$.H(w,{},$.v.3d,b);6.U=a;6.3I()};$.v.W=7(c,b){l(R.F==1)8 7(){p a=$.3F(R);a.4V(c);8 $.v.W.1Q(6,a)};l(R.F>2&&b.2c!=3B){b=$.3F(R).4Q(1)}l(b.2c!=3B){b=[b]}$.P(b,7(i,n){c=c.1u(2w 3t("\\\\{"+i+"\\\\}","g"),n)});8 c};$.H($.v,{3d:{G:{},2a:{},1i:{},1c:"3r",28:"J",2F:"4P",2l:w,3o:$([]),2D:$([]),3x:w,3l:[],3k:N,4O:7(a){6.3U=a;l(6.q.4K&&!6.4J){6.q.1K&&6.q.1K.V(6,a,6.q.1c,6.q.28);6.1M(a).2A()}},4C:7(a){l(!6.1E(a)&&(a.u 11 6.1a||!6.K(a))){6.I(a)}},6c:7(a){l(a.u 11 6.1a||a==6.4A){6.I(a)}},68:7(a){l(a.u 11 6.1a)6.I(a);12 l(a.4x.u 11 6.1a)6.I(a.4x)},39:7(a,c,b){$(a).22(c).2v(b)},1K:7(a,c,b){$(a).2v(c).2 2(b)}},63:7(a){$.H($.v.3d,a)},G:{15:"61 4r 2W 15.",1q:"M 2O 6 4r.",1J:"M O a J 1J 5X.",1B:"M O a J 5W.",1A:"M O a J 1A.",2j:"M O a J 1A (5Q).",1G:"M O a J 1G.",1P:"M O 5O 1P.",2f:"M O a J 5L 5I 1G.",2o:"M O 47 5F Z 5B.",43:"M O a Z 5z a J 5x.",18:$.v.W("M O 3K 5v 2X {0} 2V."),1y:$.v.W("M O 5t 5s {0} 2V."),2i:$.v.W("M O a Z 3W {0} 3O {1} 2V 5o."),2r:$.v.W("M O a Z 3W {0} 3O {1}."),1C:$.v.W("M O a Z 5j 2X 46 3M 3L {0}."),1t:$.v.W("M O a Z 5d 2X 46 3M 3L {0}.")},3J:N,5a:{3I:7(){6.24=$(6.q.2D);6.4t=6.24.F&&6.24||$(6.U);6.2x=$(6.q.3o).1d(6.q.2D);6.1a={};6.54={};6.1b=0;6.1h={};6.1f={};6.21();p f=(6.2a={});$.P(6.q.2a,7(d,c){$.P(c.1I(/\\s/),7(a,b){f[b]=d})});p e=6.q.1i;$.P(e,7(b,a){e[b]=$.v.1X(a)});7 2N(a){p b=$.19(6[0].L,"v"),3c="4W"+a.1V.1u(/^17/,"");b.q[3c]&&b.q[3c].V(b,6[0])}$(6.U).2K(":3E, :4U, :4T, 2e, 4S","2d 2J 4R",2N).2K(":3C, :3A, 2e, 3z","3e",2N);l(6.q.3w)$(6.U).2I("1f-L.17",6.q.3w)},L:7(){6.3v();$.H(6.1a,6.1v);6.1f=$.H({},6.1v);l(!6.J())$(6.U).3u("1f-L",[6]);6.1m();8 6.J()},3v:7 (){6.2H();Q(p i=0,14=(6.2b=6.14());14[i];i++){6.29(14[i])}8 6.J()},I:7(a){a=6.2G(a);6.4A=a;6.2P(a);6.2b=$(a);p b=6.29(a);l(b){T 6.1f[a.u]}12{6.1f[a.u]=w}l(!6.3q()){6.13=6.13.1d(6.2x)}6.1m();8 b},1m:7(b){l(b){$.H(6.1v,b);6.S=[];Q(p c 11 b){6.S.27({1j:b[c],I:6.26(c)[0]})}6.1n=$.3n(6.1n,7(a){8!(a.u 11 b)})}6.q.1m?6.q.1m.V(6,6.1v,6.S):6.3m()},2S:7(){l($.2L.2S)$(6.U).2S();6.1a={};6.2H();6.2Q();6.14().2v(6.q.1c)},3q:7(){8 6.2k(6.1f)},2k:7(a){p b=0;Q(p i 11 a)b++;8 b},2Q:7(){6.2C(6.13).2A()},J:7(){8 6.3j()==0},3j:7(){8 6.S.F},2l:7(){l(6.q.2l){3Q{$(6.3h()||6.S.F&&6.S[0].I||[]).1o(":4N").3g().4M("2d")}3f(e){}}},3h:7(){p a=6.3U;8 a&&$.3n(6.S,7(n){8 n.I.u==a.u}).F==1&&a},14:7(){p a=6,2B={};8 $([]).1d(6.U.14).1o(":1w").1L(":2s, :21, :4I, [4H]").1L(6.q.3l).1o(7(){!6.u&&a.q.2q&&2T.1z&&1z.3r("%o 4G 3K u 4F",6);l(6.u 11 2B||!a.2k($(6).1i()))8 N;2B[6.u]=w;8 w})},2G:7(a){8 $(a)[0]},2z:7(){8 $(6.q.2F+"."+6.q.1c,6.4t)},21:7(){6.1n=[];6.S=[];6.1v={};6.1k=$([]);6.13=$([]);6.2b=$([])},2H:7(){6.21();6.13=6 .2z().1d(6.2x)},2P:7(a){6.21();6.13=6.1M(a)},29:7(d){d=6.2G(d);l(6.1E(d)){d=6.26(d.u)[0]}p a=$(d).1i();p c=N;Q(Y 11 a){p b={Y:Y,2n:a[Y]};3Q{p f=$.v.1N[Y].V(6,d.Z.1u(/\\r/g,""),d,b.2n);l(f=="1S-1Y"){c=w;6g}c=N;l(f=="1h"){6.13=6.13.1L(6.1M(d));8}l(!f){6.4B(d,b);8 N}}3f(e){6.q.2q&&2T.1z&&1z.6f("6e 6b 6a 69 I "+d.4z+", 29 47 \'"+b.Y+"\' Y",e);67 e;}}l(c)8;l(6.2k(a))6.1n.27(d);8 w},4y:7(a,b){l(!$.1H)8;p c=6.q.3a?$(a).1H()[6.q.3a]:$(a).1H();8 c&&c.G&&c.G[b]},4w:7(a,b){p m=6.q.G[a];8 m&&(m.2c==4v?m:m[b])},4u:7(){Q(p i=0;i<R.F;i++){l(R[i]!==20)8 R[i]}8 20},2u:7(a,b){8 6.4u(6.4w(a.u,b),6.4y(a,b),!6.q.3k&&a.62||20,$.v.G[b],"<4s>60: 5Z 1j 5Y Q "+a.u+"</4s>")},4B:7(b,a){p c=6.2u(b,a.Y),37=/\\$?\\{(\\d+)\\}/g;l(1g c=="7"){c=c.V(6,a.2n,b)}12 l(37.16(c)){c=1F.W(c.1u(37,\'{$1}\'),a.2n)}6.S.27({1j:c,I:b});6.1v[b.u]=c;6.1a[b.u]=c},2C:7(a){l(6.q.2t)a=a.1d(a.4q(6.q.2t));8 a},3m:7(){Q(p i=0;6.S[i];i++){p a=6.S[i];6.q.39&&6.q.39.V(6,a.I,6.q.1c,6.q.28);6.2E(a.I,a.1j)}l(6.S.F){6.1k=6.1k.1d(6.2x)}l(6.q.1x){ Q(p i=0;6.1n[i];i++){6.2E(6.1n[i])}}l(6.q.1K){Q(p i=0,14=6.4p();14[i];i++){6.q.1K.V(6,14[i],6.q.1c,6.q.28)}}6.13=6.13.1L(6.1k);6.2Q();6.2C(6.1k).4o()},4p:7(){8 6.2b.1L(6.4n())},4n:7(){8 $(6.S).4m(7(){8 6.I})},2E:7(a,c){p b=6.1M(a);l(b.F){b.2v().22(6.q.1c);b.1s("4l")&&b.4k(c)}12{b=$("<"+6.q.2F+"/>").1s({"Q":6.34(a),4l:w}).22(6.q.1c).4k(c||"");l(6.q.2t){b=b.2A().4o().5V("<"+6.q.2t+"/>").4q()}l(!6.24.5S(b).F)6.q.4j?6.q.4j(b,$(a)):b.5R(a)}l(!c&&6.q.1x){b.3E("");1g 6.q.1x=="1D"?b.22(6.q.1x):6.q.1x(b)}6.1k=6.1k.1d(b)},1M:7(a){p b=6.34(a);8 6.2z().1o(7(){8 $(6).1s(\'Q\')==b})},34:7(a){8 6.2a[a.u]||(6.1E(a)?a.u:a.4z||a.u)},1E:7(a){8/3C|3A/i.16(a.1V)},26:7(d){p c=6.U;8 $(4i.5P(d)).4m(7(a,b){8 b.L==c&&b.u==d&&b||4g})},1O:7(a,b){23(b.4f.4e()){1e\'2e\':8 $("3z:3p",b).F;1e\'1w\':l(6.1E(b))8 6.26(b.u).1o(\':4h\').F}8 a.F},4d:7(b,a){8 6.32[1g b]?6.32[1g b](b,a):w},32:{"5N":7(b,a){8 b},"1D":7(b,a){8!!$(b,a.L).F},"7":7(b,a){8 b(a)}},K:7(a){8!$.v.1N.15.V(6,$.1p(a.Z),a)&&"1S-1Y"},4c:7(a){l(!6.1h[a.u]) {6.1b++;6.1h[a.u]=w}},4b:7(a,b){6.1b--;l(6.1b<0)6.1b=0;T 6.1h[a.u];l(b&&6.1b==0&&6.1l&&6.L()){$(6.U).2s();6.1l=N}12 l(!b&&6.1b==0&&6.1l){$(6.U).3u("1f-L",[6]);6.1l=N}},2h:7(a){8 $.19(a,"2h")||$.19(a,"2h",{2M:4g,J:w,1j:6.2u(a,"1q")})}},1R:{15:{15:w},1J:{1J:w},1B:{1B:w},1A:{1A:w},2j:{2j:w},4a:{4a:w},1G:{1G:w},49:{49:w},1P:{1P:w},2f:{2f:w}},48:7(a,b){a.2c==4v?6.1R[a]=b:$.H(6.1R,a)},3V:7(b){p a={};p c=$(b).1s(\'5H\');c&&$.P(c.1I(\' \'),7(){l(6 11 $.v.1R){$.H(a,$.v.1R[6])}});8 a},3T:7(c){p a={};p d=$(c);Q(Y 11 $.v.1N){p b=d.1s(Y);l(b){a[Y]=b}}l(a.18&&/-1|5G|5C/.16(a.18)){T a.18}8 a},3Y:7(a){l(!$.1H)8{};p b=$.19(a.L,\'v\').q.3a;8 b?$(a).1H()[b]:$(a).1H()},36:7(b){p a={};p c=$.19(b.L,\'v\');l(c.q.1i){a=$.v.1X(c.q.1i[b.u])||{}}8 a},41:7(d,e){$.P(d,7(c,b){l(b===N){T d[c];8}l(b.2R||b.2p){p a=w;23(1g b.2p){1e"1D":a=!!$(b.2p,e.L).F;31;1e"7":a=b.2p.V(e,e);31}l(a){d[c]=b.2R!==20?b.2R:w}12{T d[c]}}});$.P(d,7(a,b){d[a]=$.44(b)?b(e):b});$.P([\'1y\',\'18\',\'1t\',\'1C\'],7(){l(d[6]){d[6]=2Z(d[6])}}); $.P([\'2i\',\'2r\'],7(){l(d[6]){d[6]=[2Z(d[6][0]),2Z(d[6][1])]}});l($.v.3J){l(d.1t&&d.1C){d.2r=[d.1t,d.1C];T d.1t;T d.1C}l(d.1y&&d.18){d.2i=[d.1y,d.18];T d.1y;T d.18}}l(d.G){T d.G}8 d},1X:7(a){l(1g a=="1D"){p b={};$.P(a.1I(/\\s/),7(){b[6]=w});a=b}8 a},5A:7(c,a,b){$.v.1N[c]=a;$.v.G[c]=b!=20?b:$.v.G[c];l(a.F<3){$.v.48(c,$.v.1X(c))}},1N:{15:7(c,d,a){l(!6.4d(a,d))8"1S-1Y";23(d.4f.4e()){1e\'2e\':p b=$(d).33();8 b&&b.F>0;1e\'1w\':l(6.1E(d))8 6.1O(c,d)>0;5y:8 $.1p(c).F>0}},1q:7(f,h,j){l(6.K(h))8"1S-1Y";p g=6.2h(h);l(!6.q.G[h.u])6.q.G[h.u]={};g.40=6.q.G[h.u].1q;6.q.G[h.u].1q=g.1j;j=1g j=="1D"&&{1B:j}||j;l(g.2M!==f){g.2M=f;p k=6;6.4c(h);p i={};i[h.u]=f;$.2U($.H(w,{1B:j,3Z:"2Y",3X:"17"+h.u,5w:"5u",19:i,1x:7(d){k.q.G[h.u].1q=g.40;p b=d===w;l(b){p e=k.1l;k.2P(h);k.1l=e;k.1n.27(h);k.1m()}12{p a={};p c=(g.1j=d||k.2u(h,"1q"));a[h.u]=$.44(c)?c(f):c;k.1m(a)}g.J=b;k.4b(h,b)}},j));8"1h"}12 l(6.1h[h.u]){8"1h"}8 g.J},1y:7(b,c,a){8 6.K(c)||6.1O($.1p(b),c)>=a},18:7(b,c,a){8 6.K(c)||6.1O($.1p(b),c)<=a},2i: 7(b,d,a){p c=6.1O($.1p(b),d);8 6.K(d)||(c>=a[0]&&c<=a[1])},1t:7(b,c,a){8 6.K(c)||b>=a},1C:7(b,c,a){8 6.K(c)||b<=a},2r:7(b,c,a){8 6.K(c)||(b>=a[0]&&b<=a[1])},1J:7(a,b){8 6.K(b)||/^((([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^X`{\\|}~]|[\\E-\\B\\C-\\x\\A-\\y])+(\\.([a-z]|\\d|[!#\\$%&\'\\*\\+\\-\\/=\\?\\^X`{\\|}~]|[\\E-\\B\\C-\\x\\A-\\y])+)*)|((\\3S)((((\\2m|\\1W)*(\\30\\3R))?(\\2m|\\1W)+)?(([\\3P-\\5q\\45\\42\\5D-\\5E\\3N]|\\5m|[\\5l-\\5k]|[\\5i-\\5K]|[\\E-\\B\\C-\\x\\A-\\y])|(\\\\([\\3P-\\1W\\45\\42\\30-\\3N]|[\\E-\\B\\C-\\x\\A-\\y]))))*(((\\2m|\\1W)*(\\30\\3R))?(\\2m|\\1W)+)?(\\3S)))@((([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])|(([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])*([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])))\\.)+(([a-z]|[\\E-\\B\\C-\\x\\A-\\y])|(([a-z]|[\\E-\\B\\C-\\x\\A-\\y])([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])*([a-z]|[\\E-\\B\\C-\\x\\A-\\y])))\\.?$/i.16(a)},1B:7(a,b){8 6.K(b)||/^(5h?|5M):\\/\\/(((([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])|(% [\\1U-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])|(([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])*([a-z]|\\d|[\\E-\\B\\C-\\x\\A-\\y])))\\.)+(([a-z]|[\\E-\\B\\C-\\x\\A-\\y])|(([a-z]|[\\E-\\B\\C-\\x\\A-\\y])([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])*([a-z]|[\\E-\\B\\C-\\x\\A-\\y])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])|(%[\\1U-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])|(%[\\1U-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])|(%[\\1U-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|[\\5e-\\5T]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|X|~|[\\E-\\B\\C-\\x\\A-\\y])|(%[\\1U-f]{2})|[!\\$&\'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.16(a)},1A:7(a,b){8 6.K(b)||!/ 5U|5c/.16(2w 5b(a))},2j:7(a,b){8 6.K(b)||/^\\d{4}[\\/-]\\d{1,2}[\\/-]\\d{1,2}$/.16(a)},1G:7(a,b){8 6.K(b)||/^-?(?:\\d+|\\d{1,3}(?:,\\d{3})+)(?:\\.\\d+)?$/.16(a)},1P:7(a,b){8 6.K(b)||/^\\d+$/.16(a)},2f:7(b,e){l(6.K(e))8"1S-1Y";l(/[^0-9-]+/.16(b))8 N;p a=0,d=0,2g=N;b=b.1u(/\\D/g,"");Q(p n=b.F-1;n>=0;n--){p c=b.59(n);p d=58(c,10);l(2g){l((d*=2)>9)d-=9}a+=d;2g=!2g}8(a%10)==0},43:7(b,c,a){a=1g a=="1D"?a.1u(/,/g,\'|\'):"57|56?g|55";8 6.K(c)||b.65(2w 3t(".("+a+")$","i"))},2o:7(c,d,a){p b=$(a).66(".17-2o").2I("3H.17-2o",7(){$(d).J()});8 c==b.33()}}});$.W=$.v.W})(1F);(7($){p c=$.2U;p d={};$.2U=7(a){a=$.H(a,$.H({},$.53,a));p b=a.3X;l(a.3Z=="2Y"){l(d[b]){d[b].2Y()}8(d[b]=c.1Q(6,R))}8 c.1Q(6,R)}})(1F);(7($){l(!1F.1r.38.2d&&!1F.1r.38.2J&&4i.3G){$.P({3g:\'2d\',3H:\'2J\'},7(b,a){$.1r.38[a]={50:7(){6.3G(b,2y,w)},4Z:7(){6.4Y(b,2y,w)},2y:7(e){R[0]=$.1r.2O(e);R[0].1V=a;8 $.1r.1T.1Q(6,R)}};7 2y(e){e=$.1r.2O(e);e.1V=a;8 $.1r.1T.V(6,e)}})};$.H($.2L,{2K:7(d,e,c){8 6.2I(e,7(a){p b=$(a.4X);l(b.2W(d)){8 c.1Q (b,R)}})}})})(1F);',62,389,'||||||this|function|return|||||||||||||if||||var|settings||||name|validator|true|uFDCF|uFFEF||uFDF0|uD7FF|uF900||u00A0|length|messages|extend|element|valid|optional|form|Please|false|enter|each|for|arguments|errorList|delete|currentForm|call|format|_|method|value||in|else|toHide|elements|required|test|validate|maxlength|data|submitted|pendingRequest|errorClass|add|case|invalid|typeof|pending|rules|message|toShow|formSubmitted|showErrors|successList|filter|trim|remote|event|attr|min|replace|errorMap|input|success|minlength|console|date|url|max|string|checkable|jQuery|number|metadata|split|email|unhighlight|not|errorsFor|methods|getLength|digits|apply|classRuleSettings|dependency|handle|da|type|x09|normalizeRule|mismatch|submitButton|undefined|reset|addClass|switch|labelContainer||findByName|push|validClass|check|groups|currentElements|constructor|focusin|select|creditcard|bEven|previousValue|rangelength|dateISO|objectLength|focusInvalid|x20|parameters|equa lTo|depends|debug|range|submit|wrapper|defaultMessage|removeClass|new|containers|handler|errors|hide|rulesCache|addWrapper|errorLabelContainer|showLabel|errorElement|clean|prepareForm|bind|focusout|validateDelegate|fn|old|delegate|fix|prepareElement|hideErrors|param|resetForm|window|ajax|characters|is|than|abort|Number|x0d|break|dependTypes|val|idOrName|submitHandler|staticRules|theregex|special|highlight|meta|cancelSubmit|eventType|defaults|click|catch|focus|findLastActive|button|size|ignoreTitle|ignore|defaultShowErrors|grep|errorContainer|selected|numberOfInvalids|error|find|RegExp|triggerHandler|checkForm|invalidHandler|onsubmit|nothing|option|checkbox|Array|radio|remove|text|makeArray|addEventListener|blur|init|autoCreateRanges|no|to|equal|x7f|and|x01|try|x0a|x22|attributeRules|lastActive|classRules|between|port|metadataRules|mode|originalMessage|normalizeRules|x0c|accept|isFunction|x0b|or|the|addClassRules|numberDE|dateDE|stopRequest|startRequest|depend|toLowerCase|nodeName|nu ll|checked|document|errorPlacement|html|generated|map|invalidElements|show|validElements|parent|field|strong|errorContext|findDefined|String|customMessage|parentNode|customMetaMessage|id|lastElement|formatAndAdd|onfocusout|removeAttrs|cancel|assigned|has|disabled|image|blockFocusCleanup|focusCleanup|can|trigger|visible|onfocusin|label|slice|keyup|textarea|file|password|unshift|on|target|removeEventListener|teardown|setup|appendTo|warn|ajaxSettings|valueCache|gif|jpe|png|parseInt|charAt|prototype|Date|NaN|greater|uE000|unchecked|filled|https|x5d|less|x5b|x23|x21|blank|long|expr|x08|hidden|least|at|json|more|dataType|extension|default|with|addMethod|again|524288|x0e|x1f|same|2147483647|class|card|preventDefault|x7e|credit|ftp|boolean|only|getElementsByName|ISO|insertAfter|append|uF8FF|Invalid|wrap|URL|address|defined|No|Warning|This|title|setDefaults|returning|match|unbind|throw|onclick|checking|when|occured|onkeyup|removeAttr|exception|log|continue'.split('|'),0,{})) \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/changePwd.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/changePwd.php b/balance/modules/profile/views/changePwd.php deleted file mode 100644 index 04abcbb..0000000 --- a/balance/modules/profile/views/changePwd.php +++ /dev/null @@ -1,76 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * This view allows user to change password - */ -$module = App::Get()->loadModule(); - -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1>Change Password</h1> - <div id="submenu"> - <p> - <a href="<?php echo $module->moduleRoot?>/manage"> Manage Profile</a> - | - <a href="<?php echo $module->moduleRoot?>/changePwd">Change Password</a> - | - <a href="<?php echo $module->moduleRoot?>/groups">Groups</a> - </p> - </div> - - <br class="space"/> - - <fieldset id='profile_fieldset'> - <form id="signupform" autocomplete="off" method="post" action="<?php echo $module->moduleRoot?>/changePwd.do"> - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="password">Choose a password</label> - </div> - <div id="form_input" class="span-12"> - <input class="profile_input" id="password" name="password" type="password" maxlength="50" value="" /> - </div> - - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="password_confirm">Confirm password</label> - </div> - <div id="form_input" class="span-12"> - <input class="profile_input" id="password_confirm" name="password_confirm" type="password" maxlength="50" value="" /> - </div> - - <br class="space"/> - <br class="space"/> - - <div class="span-10" align="center"> - <input class="profile_input" id="button_passwdReset" type="submit" value="Submit"> - </div> - - <br class="space"/> - </form> - </fieldset> - - </div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/createUser.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/createUser.php b/balance/modules/profile/views/createUser.php deleted file mode 100644 index ebace80..0000000 --- a/balance/modules/profile/views/createUser.php +++ /dev/null @@ -1,184 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * This view will allow user to create profile - * includes validation - * - * This depends on the access granted by underlying directory service - */ -$module = App::Get()->loadModule(); - -?> - -<script type="text/javascript"> - - $(document).ready(function() { - // validate signup form on keyup and submit - var validator = $("#signupform").validate({ - rules: { - firstname: "required", - lastname: "required", - username: { - required: true, - minlength: 2, - }, - password: { - required: true, - minlength: 5 - }, - password_confirm: { - required: true, - minlength: 5, - equalTo: "#password" - }, - email: { - required: true, - email: true, - } - }, - messages: { - firstname: "Enter your firstname", - lastname: "Enter your lastname", - username: { - required: "Enter a username", - minlength: jQuery.format("Enter at least {0} characters"), - }, - password: { - required: "Provide a password", - rangelength: jQuery.format("Enter at least {0} characters") - }, - password_confirm: { - required: "Repeat your password", - minlength: jQuery.format("Enter at least {0} characters"), - equalTo: "Enter the same password as above" - }, - email: { - required: "Please enter a valid email address", - minlength: "Please enter a valid email address", - }, - }, - // set this class to error-labels to indicate valid fields - success: function(label) { - // set as text for IE - label.html(" ").addClass("checked"); - } - }); - - // propose username by combining first- and lastname - $("#username").focus(function() { - var firstname = $("#firstname").val(); - var lastname = $("#lastname").val(); - if(firstname && lastname && !this.value) { - this.value = firstname + "." + lastname; - } - }); - -}); -</script> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1>Obtaining Access</h1> - - <br class="space"/> - - <fieldset id='profile_fieldset'> - <form id="signupform" autocomplete="off" method="post" action="<?php echo $module->moduleRoot?>/access.do"> - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="firstname">First Name</label> - </div> - <div class="span-15"> - <input class="profile_input" id="firstname" name="firstname" type="text" value="" maxlength="100" /> - </div> - - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="lastname">Last Name</label> - </div> - <div class="span-15"> - <input class="profile_input" id="lastname" name="lastname" type="text" value="" maxlength="100" /> - </div> - - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="username">Desired Login Name</label> - </div> - <div class="span-15"> - <input class="profile_input" id="username" name="username" type="text" value="" maxlength="50" /> - </div> - - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="email">Email</label> - </div> - <div class="span-15"> - <input class="profile_input" id="email" name="email" type="text" value="" maxlength="150" /> - </div> - - <br class="space"/> - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="password">Choose a password</label> - </div> - <div class="span-15"> - <input class="profile_input" id="password" name="password" type="password" maxlength="50" value="" /> - </div> - - <br class="space"/> - - <div class="span-4 prepend-1"> - <label for="password_confirm">Confirm password</label> - </div> - <div class="span-15"> - <input class="profile_input" id="password_confirm" name="password_confirm" type="password" maxlength="50" value="" /> - </div> - - <br class="space"/> - <br class="space"/> - - <div class="span-10" align="center"> - <input class="profile_input" id="button_new_account" type="submit" value="Submit"> - </div> - - <br class="space"/> - </form> - </fieldset> - </div> - - -<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> -</script> -<script type="text/javascript"> -_uacct = "UA-2623402-1"; -urchinTracker(); -</script> - - - - http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/groups.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/groups.php b/balance/modules/profile/views/groups.php deleted file mode 100644 index 284893e..0000000 --- a/balance/modules/profile/views/groups.php +++ /dev/null @@ -1,82 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * This view will expose the user groups and roles for the user. - */ -$module = App::Get()->loadModule(); - -// Get instance of authentication and authorization class -$authorization = App::Get()->getAuthorizationProvider(); -$authentication = App::Get()->getAuthenticationProvider(); - -if ( $authorization != false) { - $groups = $authorization->retrieveGroupsForUser($authentication->getCurrentUsername(),App::Get()->settings['authorization_ldap_group_dn']); -} - -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1><?php echo $authentication->getCurrentUsername() ?>'s Groups </h1> - <div id="submenu"> - <p> - <a href="<?php echo $module->moduleRoot ?>/manage"> Manage Profile</a> - | - <a href="<?php echo $module->moduleRoot?>/changePwd">Change Password</a> - | - <a href="<?php echo $module->moduleRoot?>/groups">Groups</a> - </p> - </div> - - <br class="space"/> - - <fieldset id='profile_fieldset'> - <?php - - if (count($groups) > 0) { - echo "<div class='span-15 prepend-1'>"; - foreach ($groups as $g) { - List($group, $role) = explode("_", $g); - - if( $group != $groupIndex ) { - echo "</ul></ul>"; - echo "<br class='space'>"; - echo "<h3>{$group}</h3>"; - echo "<ul><ul>"; - $groupIndex = $group; - } - echo "<li>"; - echo $role; - echo "</li>"; - echo "<br class='space'>"; - } - - echo "</div>"; - } else{ - echo "<h4> No Groups found!</h4>"; - } - ?> - </fieldset> - <br class='space'> - </div> - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/index.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/index.php b/balance/modules/profile/views/index.php deleted file mode 100644 index a7b70be..0000000 --- a/balance/modules/profile/views/index.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * This view will expose the profile attributes specified in the config.ini (profile_attributes). - */ -$module = App::Get()->loadModule(); - -function displayAttributes($userAttr) { - - $str = ''; - foreach ($userAttr as $key=>$keyValue) { - foreach (App::Get()->settings['attr_titles'] as $attrTitle=>$value) { - if ( $key === $value) { - $str .= '<div class="span-13 prepend-1"><h4 align="left">'; - $str .= $attrTitle; - $str .= '</h4></div>'; - - $str .= '<div class="span-5"><h6 align="left">'; - $str .= $keyValue; - $str .= '</h6></div>'; - } - } - } - return $str; -} - - // Get user attributes - $userAttr = App::Get()->getAuthenticationProvider()->retrieveUserAttributes( - App::Get()->getAuthenticationProvider()->getCurrentUsername(), App::Get()->settings['profile_attributes'] ); - -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1>Welcome <?php echo $userAttr[ App::Get()->settings['firstname_attr'] ] ?>! </h1> - <div id="submenu"> - <p> - <a href="<?php echo $module->moduleRoot ?>/manage"> Manage Profile</a> - | - <a href="<?php echo $module->moduleRoot?>/changePwd">Change Password</a> - | - <a href="<?php echo $module->moduleRoot?>/groups">Groups</a> - </p> - </div> - - <br class="space"/> - - <h3>Profile</h3> - <fieldset id='profile_fieldset'> - <br class="space"/> - <br class="space"/> - - <?php echo displayAttributes($userAttr) ?> - - <br class="space"/> - </fieldset> - - <br class="space"/> - - </div> - http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/login.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/login.php b/balance/modules/profile/views/login.php deleted file mode 100644 index 2df3b2c..0000000 --- a/balance/modules/profile/views/login.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * Login page - */ -$module = App::Get()->loadModule(); - -// If a user is already logged in, redirect to home page -if( App::Get()->getAuthenticationProvider()->isLoggedIn() ) App::Get()->Redirect(SITE_ROOT . "/"); - -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1>Please log in to continue...</h1> - - <br class="space"/> - - <fieldset id='profile_fieldset'> - <form id="signupform" autocomplete="off" method="post" action="<?php echo $module->moduleRoot ?>/login.do"> - <br class="space"/> - <br class="space"/> - - <div class="span-2 prepend-1"> - <label for="username">Username</label> - </div> - <div class="span-15"> - <input class="profile_input" id="username" name="username" type="text" value="" maxlength="50" /> - </div> - - <br class="space"/> - - <div class="span-2 prepend-1"> - <label for="password">Password</label> - </div> - <div class="span-15"> - <input class="profile_input" id="password" name="password" type="password" maxlength="50" value="" /> - </div> - - <br class="space"/> - <br class="space"/> - - <div class="span-10" align="center"> - <input class="profile_input" id="button_new_account" type="submit" value="Submit"> - </div> - - <br class="space"/> - <br class="space"/> - </form> - </fieldset> - </div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/manage.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/manage.php b/balance/modules/profile/views/manage.php deleted file mode 100644 index 62178cf..0000000 --- a/balance/modules/profile/views/manage.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * This view will expose the profile attributes specified in the config.ini - * (profile_modify_attributes) and will allow user to modify values in the LDAP directory. - */ -$module = App::Get()->loadModule(); - -function manageAttribute() { - $userAttr = App::Get()->getAuthenticationProvider()->retrieveUserAttributes( - App::Get()->getAuthenticationProvider()->getCurrentUsername(), App::Get()->settings['profile_modify_attributes'] ); - $str = ''; - foreach ($userAttr as $key=>$keyValue) { - foreach (App::Get()->settings['attr_titles'] as $attrTitle=>$value) { - if ( $key != App::Get()->settings['username_attr']) { - - if ( $key === $value) { - $str .= '<div class="span-3 prepend-1"><label for="'; - $str .= $key . '"> ' . $attrTitle; - $str .= '</label></div>'; - - $str .= '<div class="span-12"><input class="profile_input" type="text" maxlength="100" id='; - $str .= $key . ' name=' . $key . ' value=' . $keyValue; - $str .= '></div>'; - $str .= '<br class="space"/>'; - } - } - } - } - - return $str; -} -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id='profile_container'> - <h1>Manage Your Profile</h1> - <div id="submenu"> - <p> - <a href="<?php echo $module->moduleRoot?>/manage"> Manage Profile</a> - | - <a href="<?php echo $module->moduleRoot?>/changePwd">Change Password</a> - | - <a href="<?php echo $module->moduleRoot?>/groups">Groups</a> - </p> - </div> - - <br class="space"/> - - <fieldset id='profile_fieldset'> - <form id="signupform" autocomplete="off" method="post" action="<?php echo $module->moduleRoot?>/manage.do"> - <br class="space"/> - - <?php echo manageAttribute()?> - - <br class="space"/> - <br class="space"/> - - <div class="span-10" align="center"> - <input class="profile_input" type="submit" value="Submit" name="submit_button"> - </div> - - <br class="space"/> - </form> - </fieldset> - - </div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/views/passwordChangeConfirmed.php ---------------------------------------------------------------------- diff --git a/balance/modules/profile/views/passwordChangeConfirmed.php b/balance/modules/profile/views/passwordChangeConfirmed.php deleted file mode 100644 index de28203..0000000 --- a/balance/modules/profile/views/passwordChangeConfirmed.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Profile Manager: - * Display confirmation of password change and allow user to log back in - */ -$module = App::Get()->loadModule(); - -?> - - <div class="breadcrumbs"> - <a href="<?php echo SITE_ROOT?>/">Home</a> - </div> - - <div class='span-22 append-1 prepend-1 last' id="profile_container"> - <div class="span-24"> - <br> - <h3>Password has been changed.</h3> - <br> - </div> - - <div class="span-22"> - <h5><a href="<?php echo $module->moduleRoot?>/login">Please log in with new password.</a></h5> - </div> - <br class="space"/> - - </div> - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/README.txt ---------------------------------------------------------------------- diff --git a/balance/modules/puny/README.txt b/balance/modules/puny/README.txt deleted file mode 100644 index 021c530..0000000 --- a/balance/modules/puny/README.txt +++ /dev/null @@ -1,115 +0,0 @@ -Puny - Lightweight content editor for Balance applications -========================================================== - -Puny is a lightweight content editing module for Balance applications. Puny makes -it easy for developers to add user-editable sections of content to their application -views and supports real-time, in-place editing of the content. - -Overview --------- - -Puny makes it easier to separate content from presentation and separate the -role of the site developer and the content manager. As its name implies, it -provides the bare minimum necessary to accomplish this -- based on the -understanding that excellent, full-fledged Content Management System options -are readily available and more appropriate for content-heavy sites. Puny simply -provides a way for sites that are not generally suited to a CMS to nevertheless -reap the benefits of real-time, in-browser content editing by a user not -intimately familiar with HTML. - -How it Works ------------- - -Developers embed 'containers' in their views, and content editors provide the -content that get displayed in the containers. Puny loads up the most recent -version of the content from the data store, renders it using the specified -parser, and places the rendered text into the view container. - -By logging in with the editor credentials, a user can visually see the editable -'containers' on the application views, and, using a javascript-enabled browser, -can provide inline, real-time edits, creating a new version of the content. - - - -### Flexibility ### - -Puny has been designed so that it is easy to plug in custom back end data -stores (MySql, MongoDB, SQLite, etc) and template engines (Markdown, Textile, -bbcode, etc). If a driver for <insert data store or parser here> doesn't exist, -there are two primary extension points: Puny_DataStore (a base class for developing -drivers for data stores), and Puny_Parser (a base class for interfacing with text -parsers and template engines). Using the examples in the /classes/data and -/classes/parsers, it should be relatively easy to develop additional drivers. - - -Installation ------------- - -Copy the Puny module (this directory) to the /modules directory of -your Balance application. - - -Configuration -------------- - -All configuration for Puny takes place in the module's 'config.ini' file. See -the inline documentation in 'config.ini' for detailed information about each -configuration option. - - -Developer Guide ---------------- - -### Including Puny in your application - -In general, Puny needs to be available on each application view. To avoid having to load -the module at the top of each view, it is possible to include the module once,in the -Balance index.php at the root of your application. Simply add the following lines to the -'index.php' file where it says 'Initialize any globally required modules here': - -// Puny initialization -App::Get()->loadModule('puny'); -require_once(App::Get()->settings['puny_module_path'] . '/classes/Puny.class.php'); - - -### Installing your data store ### - -Look in the /schemas folder in the Puny module for a schema compatible with your datastore -driver. Install the schema using whatever method is most appropriate for the technology. The -default driver is the PDO driver implemented in ./classes/data/Puny_PdoDataStore.class.php. -The MySQL schema compatible with this driver is in ./schemas/puny.pdo.mysql.sql. Copy this -file and import it into the database you configured in the configuration step above. - - -### Including Puny containers in your application views ### - -The easiest way to include Puny containers in your application views is: - -<?php echo Puny::container()->load('resourceid');?> - -By default, container creates a '<div>' element and loads the content into it. To use -something other than a '<div>' simply specify the html element to the container() function: - -<?php echo Puny::container('span')->load('resourceid');?> - -It is also possible to specify arbitrary attributes to attach to your container. Examples -include a DOM id, CSS class(es), style attribute, alt, rel, or anything else. This is -accomplished by passing an associative array as the second parameter to container() where -the array keys are the attribute names, and the values are the attribute values. - -<?php echo Puny::container('div',array('id'=>'mydiv','class'=>'foo bar'))->load('resourceid');?> - - -### Allowing editors to log in and edit ### - -Somewhere in your application, there should be a login link that allows editors to log in -and make edits to content. This is easily accomplished by adding the following line wherever -you want the login link to appear: - -<?php echo Puny::status();?> - -This will display either a login or logout link, depending on whether or not an editor -is currently logged in. - - -That's all there is to it, it lives up to its name. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/Puny.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/Puny.class.php b/balance/modules/puny/classes/Puny.class.php deleted file mode 100644 index 67ed6bc..0000000 --- a/balance/modules/puny/classes/Puny.class.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -require_once( dirname(__FILE__) . '/Puny_Container.class.php'); -require_once( dirname(__FILE__) . '/Puny_Resource.class.php'); - -/** - * Puny - * - * Light-weight content editing for Balance applications. Puny makes it easy - * to add editable sections of content to your application views and supports - * real-time, in-place editing. - * - * Puny has been designed so that it is easy to plug in custom back end data - * stores (MySql, MongoDB, SQLite, etc) and template engines (Markdown, Textile, - * bbcode, etc). Use what makes sense for your project, and if what you want - * is not yet supported, writing a Puny driver for a datastore or template - * engine is a piece of cake. There are examples of each in the /classes/data and - * /classes/parsers directories. - * - * @author ahart - */ - -class Puny { - - protected static $datastore = null; - - protected static $commonResourcesLoaded = false; - - protected static $editorResourcesLoaded = false; - - protected static function init() { - - // Only if the datastore has not yet been initialized... - if (!self::$datastore) { - try { - // Obtain datastore configuration details - $datastoreClass = App::Get()->settings['puny_datastore_classname']; - require_once( App::Get()->settings['puny_datastore_classpath'] ); - - // Create an instance of the datastore connector - self::$datastore = new $datastoreClass(); - - // Connect to the datastore - self::$datastore->connect(); - } catch ( Exception $e ) { - throw new Exception("Error instantiating Puny. " - . "The underlying cause was: " . $e->getMessage()); - } - } - - self::injectCommonResources(); - self::injectEditorResources(); - } - - public static function load( $resourceId, $version = null, $parseContent = true ) { - - self::init(); - - // Load the raw data from the data store... - if (false !== ($resource = self::$datastore->load( $resourceId, $version ))) { - - // If a valid resource was found, return it - return ($parseContent) ? $resource->parse() : $resource; - - } else { - - // Otherwise, return an empty resource with the requested id - return new Puny_Resource( array("resourceId" => $resourceId, "content" => $resourceId) ); - - } - } - - public static function store (Puny_Resource $resource ) { - - self::init(); - - // Persist the resource to the datastore - self::$datastore->store( $resource ); - - } - - public static function isEditing() { - return ( isset($_SESSION['puny']) && $_SESSION['puny']['editing'] === true ); - } - - public function initializeEditorSession() { - $_SESSION['puny'] = array('editing' => true, 'sessionStart' => time()); - } - - public static function destroyEditorSession() { - unset($_SESSION['puny']); - } - - public static function status() { - if (self::isEditing()) { - return "<a href='".App::Get()->settings['puny_module_root']."/logout'>Logout</a>"; - } else { - return "<a href='".App::Get()->settings['puny_module_root']."/login'>Login</a>"; - } - } - - protected static function injectCommonResources() { - // Inject the environmental information needed for the javascript libraries - // to function as expected... - if ( !self::$commonResourcesLoaded ) { - $js = "\r\n" - . "var puny_module_root = '" . trim(App::Get()->settings['puny_module_root']) . "'\r\n" - . " puny_module_static = '" . trim(App::Get()->settings['puny_module_static']) ."'\r\n" - . " puny_current_url = '" . $_SERVER['HTTP_REFERER'] ."';\r\n"; - App::Get()->response->addJavascript( $js, true ); // raw Javascript - - // Add puny default styles - $staticPath = trim(App::Get()->settings['puny_module_static']); - App::Get()->response->addStylesheet($staticPath . '/css/defaults.css'); - App::Get()->response->addJavascript($staticPath . '/js/jquery-1.7.2.min.js'); - self::$commonResourcesLoaded = true; - } - } - - protected static function injectEditorResources() { - // Only inject resources if we are editing and they have not already been loaded... - $segments = App::Get()->request->uri; - $staticPath = trim(App::Get()->settings['puny_module_static']); - if ( self::isEditing() && strstr($segments,'edit') != false) { - - App::Get()->response->addJavascript($staticPath . '/js/gollum.js'); - App::Get()->response->addJavascript($staticPath . '/js/gollum.dialog.js'); - App::Get()->response->addJavascript($staticPath . '/js/gollum.placeholder.js'); - App::Get()->response->addJavascript($staticPath . '/js/editor/gollum.editor.js'); - - App::Get()->response->addStylesheet($staticPath . '/css/github.css'); - App::Get()->response->addStylesheet($staticPath . '/css/editor.css'); - App::Get()->response->addStylesheet($staticPath . '/css/dialog.css'); - } - if ( self::isEditing() && !self::$editorResourcesLoaded ) { - - App::Get()->response->addJavascript($staticPath . '/js/puny.js'); - App::Get()->response->addStylesheet($staticPath . '/css/puny.css'); - self::$editorResourcesLoaded = true; - } - } - - public static function container( $htmlElmt = 'div' , $extra = array()) { - - self::init(); - - // Create a new Puny_Container object according to the provided info - return new Puny_Container($htmlElmt, $extra); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/Puny_Container.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/Puny_Container.class.php b/balance/modules/puny/classes/Puny_Container.class.php deleted file mode 100644 index 97b786b..0000000 --- a/balance/modules/puny/classes/Puny_Container.class.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -require_once(dirname(__FILE__) . '/Puny.class.php'); - -/** - * Puny_Container - * - * This class provides convenience methods for creating an HTML container - * around a Puny_Resource. Puny_Container removes the need for developers - * to manually annotate HTML with the puny="..." attribute (so that the - * Puny javascript in-place editor functions on the resource). - * - * @author ahart - */ -class Puny_Container { - - protected $htmlElement; - protected $attributes; - - /** - * Constructor - * - * @param string $elmt The html element to use as a container (e.g.: 'div','span') - * @param array $attributes (optional) an associative array of attributes to - * attach to the html container element. e.g: - * array("id" => 'foo', "class" => "bar baz"); - */ - public function __construct( $elmt = 'div', $attributes = array() ) { - - $this->htmlElement = $elmt; - $this->attributes = $attributes; - } - - /** - * Load a resource into this container - * - * This function simply calls the Puny::load function and returns - * wraps the result in the container html - * - * @param string $resourceId The unique id of the resource to load - * @param int $version (optional) The version to load (default = latest) - * @returns string - */ - public function load( $resourceId, $version = null ) { - return $this->render( Puny::load( $resourceId, $version, false )); - } - - - /** - * Helper function for rendering a resource inside this container - * - * @param unknown_type $resource - * @access protected - */ - protected function render($resource) { - - $html = "<{$this->htmlElement}"; - - foreach ($this->attributes as $k => $v) { - $html .= " {$k}=\"{$v}\""; - } - - $html .= " puny=\"{$resource->getId()}\">" - . "{$resource->parse()->getContent()}" - . "</{$this->htmlElement}>"; - - return $html; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/Puny_Resource.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/Puny_Resource.class.php b/balance/modules/puny/classes/Puny_Resource.class.php deleted file mode 100644 index fe7c568..0000000 --- a/balance/modules/puny/classes/Puny_Resource.class.php +++ /dev/null @@ -1,163 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Puny_Resource - * - * Represents a piece of content being managed by Puny. - * - * The Puny_Resource class is a wrapper around a piece of editable - * content (a resource). The class provides a number of convenience - * functions for interacting with content. - * - * @author ahart - */ -class Puny_Resource { - - protected $id; // The unique id for this resource - protected $version = 0; // The version number for this resource - protected $content; // The resource raw content - protected $parser = 'markdown'; // The parser label for this resource - protected $parsedContent; // The resource parsed content - - /** - * Constructor - * - * Optionally provide an associative array containing - * the data to use when initializing this object. - * - * @param array $data (optional) data to use when initializing the object - */ - public function __construct($data = array()) { - $this->id = isset($data['resourceId']) ? $data['resourceId'] : false; - $this->version = isset($data['version']) ? $data['version'] : 0; - $this->content = isset($data['content']) ? $data['content'] : ''; - $this->parser = isset($data['parser']) ? $data['parser'] : 'markdown'; - $this->parsedContent = isset($data['parsedContent']) ? $data['parsedContent'] : ''; - } - - /** - * Get the unique id for this resource - * @returns String - */ - public function getId() { - return $this->id; - } - - /** - * Increment the version number for this resource - * @returns Puny_Resource - */ - public function incrementVersion() { - $this->version += 1; - return $this; // allow method chaining - } - - /** - * Return the version number for this resource - * @returns int - */ - public function getVersion() { - return $this->version; - } - - /** - * Get the parser label for this resource. The parser - * label is a text label which should correspond to - * one of the entries in the 'parsers' section of the - * Puny module's config.ini file. - */ - public function getParser() { - return $this->parser; - } - - /** - * Set the parser label for this resource. - * - * @param string $label The parser label to use - */ - public function setParser( $label ) { - $this->parser = $label; - return $this; // allow method chaining - } - - /** - * Get either the parsed or raw resource content. - * - * @param boolean $raw (default=false) return raw content? - * @returns string - */ - public function getContent( $raw = false ) { - return ($raw) ? $this->content : $this->parsedContent; - } - - /** - * set the raw content for this resource. - * @param string $val The raw content for this resource - * @returns Puny_Resource - */ - public function setContent( $val ) { - $this->content = $val; - return $this; // allow method chaining - } - - /** - * Parse the raw contents of this resourse - * - * This function uses the parser label associated with this - * resource to determine the parser to use, instantiates a - * parser instance, and parses the raw content. The result - * is stored in $this->parsedContent. - * - * @throws Exception - * @returns Puny_Resource - */ - public function parse() { - // Determine the parser to use - $parserLabel = $this->getParser(); - - // Ensure the appropriate parser has been required - $parsers = App::Get()->settings['puny_parser']; - if ( !in_array( $parserLabel, array_keys( $parsers ) ) ) { - throw new Exception("Error instantiating parser: " - . "label '{$parserLabel}' not configured. "); - } else { - require_once( $parsers[$parserLabel] ); - } - - // Load the parser - $parserClassName = 'Puny_' . ucfirst($parserLabel) . 'Parser'; - $parser = new $parserClassName(); - - // Expand Balance constants: - // ([SITE_ROOT], [MODULE_ROOT], [MODULE_PATH], [MODULE_STATIC]) - $content = str_replace('[SITE_ROOT]',SITE_ROOT, stripslashes($this->content)); - $moduleInfo = App::Get()->loadModule(); - if ($moduleInfo) { - $content = str_replace('[MODULE_ROOT]',$moduleInfo->moduleRoot, $content); - $content = str_replace('[MODULE_PATH]',$moduleInfo->modulePath, $content); - $content = str_replace('[MODULE_STATIC]',$moduleInfo->moduleStatic, $content); - } - - // Store the parsed contents - $this->parsedContent = $parser->parse( $content ); - - // Allow method chaining - return $this; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/data/Puny_DataStore.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/data/Puny_DataStore.class.php b/balance/modules/puny/classes/data/Puny_DataStore.class.php deleted file mode 100644 index d850dc6..0000000 --- a/balance/modules/puny/classes/data/Puny_DataStore.class.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Puny_DataStore - * - * Base class for Puny data store implementations - * - * @abstract - * - * @author ahart - */ -abstract class Puny_DataStore { - - protected $host; - protected $username; - protected $password; - protected $dbname; - - protected $link; - - /** - * Connect to the data store - * - */ - public abstract function connect(); - - /** - * Disconnect from the data store - */ - public abstract function disconnect(); - - /** - * Request a resource from the data store. Optionally - * specify a particular version of the resource to fetch. - * - * @param string $resourceId The unique id of the resource - * @param integer $version (Optional) the version to retrieve. Default = latest. - */ - public abstract function load( $resourceId, $version = null ); - - /** - * Store a new version of a resource. For simplicity, versions are - * immutable. That is, every time a resource is stored, its version is - * first incremented and a new record is created. Implemenations should - * take care to automatically increment the version number of the - * resource before persisting to the datastore. - * - * @param string $resourceId The unique id of the resource - * @param string $content The content to store - */ - public abstract function store( Puny_Resource $resource ); - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/data/Puny_LocalFileDataStore.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/data/Puny_LocalFileDataStore.class.php b/balance/modules/puny/classes/data/Puny_LocalFileDataStore.class.php deleted file mode 100644 index df52079..0000000 --- a/balance/modules/puny/classes/data/Puny_LocalFileDataStore.class.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Require the abstract parent class definition -require_once( dirname(__FILE__) . '/Puny_DataStore.class.php'); - -/** - * An implementation of the Puny_DataStore class that persists - * content to ascii text files. - * - * @author ahart - */ -class Puny_LocalFileDataStore extends Puny_DataStore { - - protected $dataDirectory; - - public function connect() { - $this->dataDirectory = App::Get()->settings['puny_datastore_localfile_dir']; - - // Ensure we can write to the directory - if (!is_writeable($this->dataDirectory)) { - throw new Exception("Puny can not write to the specified data directory"); - } - } - - public function disconnect() { - //noop - } - - public function load( $resourceId, $version = null ) { - - // The LocalFile data store does not currently support - // the concept of 'versions'. It could, but is the - // added complexity really worth it? This is really - // intended as a development tool, with the assumption - // that one of the more full-featured data store - // implementations (e.g.: PDO, Mongo) will ultimately - // be used. - - // Build the full path from the resourceId - $path = $this->dataDirectory . '/' . $resourceId . ".txt"; - - if (file_exists( $path ) ) { - $content = file_get_contents($path); - $resource = array( - "resourceId" => $resourceId - , "content" => $content - ); - return new Puny_Resource($resource); - } else { - return false; - } - } - - public function store ( Puny_Resource $resource ) { - - // Build the full path from the resourceId - $path = $this->dataDirectory . '/' . $resource->getId() . ".txt"; - - // Store the latest content - file_put_contents($path, $resource->getContent(true)); // raw, unparsed content - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/data/Puny_MongoDataStore.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/data/Puny_MongoDataStore.class.php b/balance/modules/puny/classes/data/Puny_MongoDataStore.class.php deleted file mode 100644 index a5482af..0000000 --- a/balance/modules/puny/classes/data/Puny_MongoDataStore.class.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Require the abstract parent class definition -require_once( dirname(__FILE__) . '/Puny_DataStore.class.php'); - -/** - * A MongoDB implementation of the Puny_DataStore class. - * - * @author ahart - */ -class Puny_MongoDataStore extends Puny_DataStore { - - protected $collection; - - public function connect() { - $dbname = App::Get()->settings['puny_datastore_mongo_db']; - $coll = App::Get()->settings['puny_datastore_mongo_collection']; - $this->link = new Mongo(); - $this->dbname = $this->link->selectDB($dbname); - $this->collection = $this->dbname->$coll; - } - - public function disconnect() { - if ($this->link) { - $this->link->close(); - } - } - - public function load( $resourceId, $version = null ) { - // Build criteria for loading... - $criteria = array("resourceId" => $resourceId); - - // If a version is specified... - if ($version !== null) { - $criteria['version'] = $version; - $doc = $this->collection->findOne( $criteria ); - } - - // Otherwise... - else { - $cursor = $this->collection->find(array("resourceId" => $resourceId)); - $cursor->sort(array('version' => -1)); - $doc = $cursor->getNext(); - } - - // Return whatever was found... - return ($doc) ? new Puny_Resource( $doc ) : false; - } - - public function store ( Puny_Resource $resource ) { - $doc = array( - "resourceId" => $resource->getId() - , "version" => time() - , "parser" => $resource->getParser() - , "content" => $resource->getContent( true )); // raw, unparsed content - - $this->collection->insert( $doc ); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/data/Puny_PdoDataStore.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/data/Puny_PdoDataStore.class.php b/balance/modules/puny/classes/data/Puny_PdoDataStore.class.php deleted file mode 100644 index b630f30..0000000 --- a/balance/modules/puny/classes/data/Puny_PdoDataStore.class.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Require the abstract parent class definition -require_once( dirname(__FILE__) . '/Puny_DataStore.class.php'); - - -/** - * A PDO implementation of the Puny_DataStore class. - * - * @author ahart - */ -class Puny_PdoDataStore extends Puny_DataStore { - - protected $driver = 'mysql'; - protected $tablePrefix = 'puny_'; - - /** - * (non-PHPdoc) - * @see Puny_DataStore::connect() - * @throws PDOException - */ - public function connect() { - $this->host = App::Get()->settings['puny_datastore_pdo_host']; - $this->username = App::Get()->settings['puny_datastore_pdo_username']; - $this->password = App::Get()->settings['puny_datastore_pdo_password']; - $this->dbname = App::Get()->settings['puny_datastore_pdo_dbname']; - $this->driver = App::Get()->settings['puny_datastore_pdo_driver']; - $this->tablePrefix = App::Get()->settings['puny_datastore_pdo_tablePrefix']; - - $dsn = $this->driver . ':host=' . $this->host . ';dbname=' . $this->dbname; - $this->link = new PDO( $dsn, $this->username, $this->password ); - } - - /** - * (non-PHPdoc) - * @see Puny_DataStore::disconnect() - */ - public function disconnect() { - if ($this->link) - $this->link = null; - } - - public function load( $resourceId, $version = null) { - - // Request the specified resource... - $sql = "SELECT * FROM `{$this->tablePrefix}resource` WHERE `resourceId`=:resourceId "; - $data = array('resourceId' => $resourceId); - - // If a version is specified, explicitly request that version... - if ($version != null) { - $sql .= " AND `version`=:version "; - $data['version'] = $version; - } - - // Otherwise, simply get the latest version... - else { - $sql .= " ORDER BY `version` DESC "; - } - - // Limit our results to at most one result... - $sql .= " LIMIT 1 "; - - // Prepare and execute the query using the provided data... - $stmt = $this->link->prepare( $sql ); - $stmt->execute( $data ); - - // Return the single result, or return false if no match... - if (false != ($resource = $stmt->fetch())) { - return new Puny_Resource($resource); - } else { - return false; - } - } - - public function store( Puny_Resource $resource ) { - - // Increment the resource version id... (see note in Puny_DataStore.class.php) - $resource->incrementVersion(); - - // Create sql for storing this new resource version... - $sql = "INSERT INTO `{$this->tablePrefix}resource` (`resourceId`,`version`,`parser`,`content`) " - . "VALUES (:resourceId, :version, :parser, :content) "; - - // Prepare and execute the statement using the provided data - $stmt = $this->link->prepare($sql); - $stmt->execute ( array ( - 'resourceId' => $resource->getId() - , 'version' => $resource->getVersion() - , 'parser' => $resource->getParser() - , 'content' => $resource->getContent(true) // raw, unparsed content - )); - - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/parsers/Puny_MarkdownParser.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/parsers/Puny_MarkdownParser.class.php b/balance/modules/puny/classes/parsers/Puny_MarkdownParser.class.php deleted file mode 100644 index 4277d04..0000000 --- a/balance/modules/puny/classes/parsers/Puny_MarkdownParser.class.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Require the markdown php library (https://github.com/michelf/php-markdown/) -require_once( App::Get()->settings['puny_module_path'] . '/libs/markdown.php'); - -/** - * Markdown implementation of the Puny_Parser class - * - * @author ahart - */ - -class Puny_MarkdownParser { - - public function parse ( $content ) { - - return Markdown( $content ); - - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/classes/parsers/Puny_Parser.class.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/classes/parsers/Puny_Parser.class.php b/balance/modules/puny/classes/parsers/Puny_Parser.class.php deleted file mode 100644 index 5701ff9..0000000 --- a/balance/modules/puny/classes/parsers/Puny_Parser.class.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Puny_Parser - * - * Base class for Puny parser implementations. - * - * @abstract - * - * @author ahart - */ -abstract class Puny_Parser { - - /** - * Implementations of this function should return the - * final (display-ready) version of the provided content. - * - * @param string $content The content to parse - * @returns string - * @abstract - */ - public abstract function parse( $content ); - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/config.ini ---------------------------------------------------------------------- diff --git a/balance/modules/puny/config.ini b/balance/modules/puny/config.ini deleted file mode 100644 index ed3b334..0000000 --- a/balance/modules/puny/config.ini +++ /dev/null @@ -1,75 +0,0 @@ - # Licensed to the Apache Software Foundation (ASF) under one or more - # contributor license agreements. See the NOTICE file distributed with - # this work for additional information regarding copyright ownership. - # The ASF licenses this file to You under the Apache License, Version 2.0 - # (the "License"); you may not use this file except in compliance with - # the License. You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, software - # distributed under the License is distributed on an "AS IS" BASIS, - # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - # See the License for the specific language governing permissions and - # limitations under the License. - -# -# Puny - Lightweight content editor for Balance applications -# -# ------------------------------------------------------------------------ -# - -[ADMINISTRATION CONFIGURATION] -# -# Editor login credentials -# ------------------------------------- -# The editor is the user authorized to make content changes to the site -# -puny_editor_username = '' -puny_editor_password = '' - - -[DATASTORE CONFIGURATION] -# -# Which class will provide connection to the data store? -puny_datastore_classname = Puny_LocalFileDataStore; - -# Where is this class in the filesystem? -puny_datastore_classpath = [MODULE_PATH]/classes/data/Puny_LocalFileDataStore.class.php; - -# Connection parameters specific to the Puny_LocalFileDataStore connector -puny_datastore_localfile_dir = '[MODULE_PATH]/data/resources'; - -# Connection parameters specific to the Puny_PdoDataStore connector -puny_datastore_pdo_host = 'localhost'; -puny_datastore_pdo_username = ''; -puny_datastore_pdo_password = ''; -puny_datastore_pdo_dbname = ''; -puny_datastore_pdo_driver = 'mysql'; -puny_datastore_pdo_tablePrefix = 'puny_'; - -# Connection parameters specific to the Puny_MongoDataStore connector -puny_datastore_mongo_db = ''; -puny_datastore_mongo_collection = ''; - -[PARSER CONFIGURATION] -# -# Puny supports an unlimited number of parsers. The only requirement is that -# there be a driver that conforms to ./classes/parsers/Puny_Parser.class.php. -# -# This array provides a mapping between parser labels and the corresponding -# parser class that will do the work. -# -puny_parser[ 'markdown' ] = [MODULE_PATH]/classes/parsers/Puny_MarkdownParser.class.php - - - -[INTERNAL ROUTING] -# -# These variables are here to provide location independence (so that you can -# install Puny in ./modules/puny or ./modules/somethingelse without having -# to change any code. You should never have to edit these. -# -puny_module_path = [MODULE_PATH] -puny_module_root = [MODULE_ROOT] -puny_module_static = [MODULE_STATIC] \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/puny/hooks.php ---------------------------------------------------------------------- diff --git a/balance/modules/puny/hooks.php b/balance/modules/puny/hooks.php deleted file mode 100644 index e723f31..0000000 --- a/balance/modules/puny/hooks.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ \ No newline at end of file
