From 7a131e6842ada14929a942667378d6ad57d228f3 Mon Sep 17 00:00:00 2001 From: Vince Mitchell Date: Thu, 6 Apr 2017 12:53:47 -0400 Subject: [PATCH] add copy env to clipboard --- README.md | 1 + alForge.alfredworkflow | Bin 46380 -> 47050 bytes src/alforge/Env.php | 28 +++ src/info.plist | 497 ++++++++++++++++++++++++++--------------- 4 files changed, 347 insertions(+), 179 deletions(-) create mode 100644 src/alforge/Env.php diff --git a/README.md b/README.md index b5e79b0..ca12c4e 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ Latest stable version is tagged with a release and uploaded to [Packal.org](http - `forge key {key}` : Sets your Forge API Key - `forge open {site or server}` OR `fo {site or server}` : Opens the specified server or site's Forge page in your browser - `forge deploy {site}` : Deploys the site specified (must confirm) +- `forge env {site}` : Copies the env file of the site specified to your clipboard - `forge ip {server}` : Copies the ip address of the specified server to your clipboard - `forge reboot {server}` : Reboots the specified server (must confirm) - `forge mysql {server}` : Restarts MySQL on the specified server (must confirm) diff --git a/alForge.alfredworkflow b/alForge.alfredworkflow index 38c9eb5b308d0279f3405fb2d43cce8d0965ec39..c8f1d665b6a188c5b78cf0ff6b85c387ad11c071 100644 GIT binary patch delta 9992 zcmZ{KWmp}_*7f1w?(PyScyI|2+&#D*EVw(QaSwKo;O;JgV8JCpgL|+50fIvU1o#Lu zb7$^1_w7HmtGa4cKYLYI*IvCV_rRZyz-X!puy81#-n z@h9?gn#sj-z8SOOBC49pKVP&z@z`$2(;5bH2vN^=}j2;%PZdc8l%iJYzUsCu@zal8#~dh`5li9#t{ zs;H+yeYSBnON(*@cDyQ8h_zbvbLp zXa)X#>Z0S>d5_Uau<5`g+J@W)Wkofo46({IwKU{1RMY)-G7 zv^0@Humb;kaoQ)0D)(|=g&e(((!whfXXfcpf8Ccy`muF*DOSynsv<)Fpgjd*=NQgEW;rPimTE zs-PkVkSB$^^aR2JUvRD6ZLvJEcU2Ml8-y3@<_Ue2Jgqeivy;S_s1~MFmr`;&e40K6 zZ$_eLo2~9IH!v)|b4C`GG3PaCxPKuZX7}_)w(tZLz&L+`n%+JN!+@<%op;F z-%S>bDFKswRqT_rnyDy#n~GR>bj6)?``&^i`#qjSO2Ig$!&Yd`3^|gaKT_BP#xZMz zGpAJ?N~4*a8@$f4P!4?P5)k$6tUZ zg&mb*GRrXe=bh2}@Rr1k3?VWn+YxZv=e@LqzpXsa`x?*gnQ<*Sbtb;!mpfD6&do*)ywnShe|Mv!33&gRH<$O z^nzh-igz&)no6E!nvA|HhX$!Z7`@;chD+187@=eb;+w=$|* zEG?)iEn#!0ztML;?4^U$9vG22Z27KX3Hcj%${?M%?X@M!jif;UwG%XHVqdxY#t>-!;{(R|*-F7v4&wpf>59l!SD^x@0u$Ws2& zL4K(czS(r4J4LReK&i|}{Vfne&1kc=n|>F#DCMnx!$H!XqbSoE6W;lOQn|Ry`?8x1 zv*c(nb;|kP#ih7EBt`zRd&*K&h|(xid2!(UW-SwV!^S4vX&i%a`|WDC{*BSLEn|pc zpC-ieG|-Dg05k7QHQW>o>z<6@ntj6GDNIV7F^*6$WvWIK=PUtKYg zP4HBSeUEXhP&M{L(Q4sBg;RU@Zf1Fed5Gxu)?*Fp8JGn@&Ca*`QP02O22nF^arL@( z8kYn3!PXma9N(%@runso@3rRIzKU#4c!5&!C@ z1S$}Az3!Rm0biCHHvL4#R-)?uknC2Gm$=)ek`KW)eG}H^M7HZ-?gdmziX_PhzE*z{HEm6K5*9RFlwLwI6ryM#xmvNfdh6uLvqefBuOl@e!bB=47xr9$VGL7mE{IpopOPGl7D@rcjU^cM%AY zV$C6MmCQcXk6c_1&mc{wwag}imtiQXoS!9{zyCwxJ&j_b$Sc8HkW{x}*HN$za3~HG z<8-25+jR}g+jW_StI8)`t{{M^(djsnSBx`PSlN{OnUdZamidH+=-qjBBm**eJBsg!-QFY5TV<~(sqnM>fXx94_ zSX;NE#x^a}zluG-BlS2TS-Ddywuwtj9;s$5!txMqBBg+bV7x;w$nxm_% zjakP&)hdD-Tw8m-NE0hj>ND9*=3Ll_1h!4`9M=NEk)>ZoMwi@8=+)B?`#_iR6(#NM zlI~tyt?x>i8mUlgZODZs`<`#SeLlsasC&&6yIr>4>o;&_1Xe%Ik*+Wy z6Mw-A4TTj2jwPkviRb5p2k)^Xa^6KJp73nk1K9V|Vv0sN zB;nG_>;#d<8FM>)H3#2w1Sz+-1n{3akzD1DxWA$Dxs<{22&T-O#DcZ~o!rd`v1zF! zN^EuKaOn7gbgC(3XvC{sld;6cxweDxogU|q3J|$}y9a^~0GU%JHLAjz8-tBvXePqy zc=1D%HGz{|9>#RGUSl_)#)S1euok8u_l+(L$gMu1midxxx2g*=MJncIGpHUXdzM!d zV!lJbt1smE^+|;#+-#9hS+^lM;nygJB zU}qf8P-Fc3Yw&av}bpRz(Gye?K%*RHOc&e`FFy?Bz+n5(N4u7$>{6!VEepa}14 z#g7xtPj59ZD(SwlsQRZo&&NFv3zD{9;`~tPppu3Kk+yDbFn~yvcQ=n9#eW@ZwjbFO z#UFV6lN4HlA`B*Ufqq3B~(0<{o6T!0RRdR9lTS33tG3Md9T<-=0bW4XQZY8F~jnz!Ak8faX={L9loXvoOBi z3xb&QMG`7J$dl; zA*J8y_65>sJw&rl*MVbwWm+b6X50La9gJ$WA}1!l89@lwYmy_uVzK8}$+ zaOAE@w`u#p(Za*|_dmz6htrs{m9>M{e@T0&wt6U@mJ`Hc6#jkZUo0rdg@EUWC~P~KzWh!?&sxM~>u@qn$&TB-CU}F9Uv#^- zX)W36mBH8f%wCGHp0B!B$gab?Vu)I(lXH*>Gp;)+N#!67a+&JO#!ltFPt`L;961#x z_JgY(G)1=#(1ID~q4;Ug`guBVCD8D44NBtu0$}ci@j8x2BiYuA$~pax`~eUeAL?S? zpDmETc;Xx+n5YOP7=0&S#EQ$+91tgHLb%wU%@o%$K#*xQ+w3fwrK4 z?H3L|hd+`|U5T+d+&+UeiZ%PbTXqVurC(XxMGj?D8rI0(X;sIdOQKqT_4sBOs zI+&e&nQSsS@|hMFqTtvW1b44+QmrO8ov89Gbi0-p1=K`J$S;=ry39Tk+Wffsuocosp5fT_ z!%yg*L|CHIzG%1aOi^NQ;(~R#irE%<>g2ejksA@Dudq`q?uLhf(bxzyZYQd|kkERq z!6^Q$CRC%e4BkO9`~11^TeHqE$+Z@-Em>bSZ4Zt*6Au#t@}H&B*+V(dbx@CxtWQFV z`svQk?XXyO5`CxW){DYt?ewv-3hKI(x$t|6Xx6S%e}3oiOeZE$;nKdBTrP_Hj~#v=`dAN5>K{P#u0^MCEmHp_jUO zW(=J0+Pfzy7NF1extCQ}Zp9*gwGNR*q1pn8%2J&j zw(Sbu&osID>JyVTs9+P>!Z|u=^-l3khsV73Wx5uB!W7}-?gu=^|Ev$RAf?U1v^>;Q z9;m_kD;j;+{xmII?Eka-rTlNU?3LSMAJ{s$#n&$k2x1>1k3fhdp(CL)KR~WSYFc=A zBo+Z6;)n&z+jtrYi5BR{6t%C4=kw+|KLe24#mh8PcHXs{k!x}uxL|wf^Q;?ZFU>$m zSYNmv$2!R#zbthxhvx71wL4_yG5bOdj_D@s_KfPr*UUPT-FlX~rURoig^1DMe<5af zd>nr1{n8lf9PkmjBj2?;^ERgQ+4;@SI`Q;(6Vux3GdksQ%H%vmt?wsixg;qJ#|WX5 zc-+5t5-2i$;J5xi(3fi2(wADgc2{9{ghMVCl%_WM}Q_ z_Na(3K1g*!|CZ~%8{WGX@Dkj6dluirrnXpnT9v;&ig0KZ2{ExOS+cKg`>wQexGird zupSi%R-T<|xxdW@2{}jA$-W^~e?3nwLv`|V7wGumt%5VTpiN1b;5J$>thm9hlB97Z z2|3|T3qARo%J2m^#(sXacX8IxIpMg1DVpu8P7>-(odu|@esC_rEGWOAA4Un0iVeHP4SuBl?kT zVWIGYk#-Kf^GGp#W45DSX-17hJWs!dJu&SHw_zc!zEp@8!YSF5YFTKR{iOS-m6do3 z{MVYLmwO(TEbKk}YbtuH^20T=VC0yZXBYRWon3+Bm6TM)bHAjA(O`CjxE0H^LDvyk$n7_2TyR zFnQpKfmpK}-o(gqnw2~vY{b=J`r(9YP~=c+tndnFys|w!_Be064UnNz z5*3agLP!m=clZm|>wxtUk}N)0Y;DXw}oFP<$9Beq96^cgP-X@G=ROKXNv04V^$gL5DX zeN~GZlpBOSz$|9%C0U#TY3qek1+=?{1&CY=Hjavd5pe7RU+4u?T9p=W#L+J!P|Ygl zqF`!{!Q#~&(5T{1h`nKs3NHI2@d}QTqHBHUU0a1nqWOsF0i{>|BX0G z+1!eIofo78`Zy&_sT+GlyF#By);(;?rp2?O=KqDf_bo4ob-|T-StB0d5`}IfeaKlD zRc-K`N=B{JlZujYRs$9eYppkGn>MHQ*yuSNwv*5z@~PcCfo@sxBboj4q4r zE=k27zB?XLND6)hM-C_X)hq+cJ^}>E@M(1z8oDr0MeBuk(KL_Jocn0N+h@GGwawvn(;r(ON9NH>?*DO4$jV&W(BFb zR`$Y8LhN|NK%ss&)ICHH{k}O7xWxh8`R4fV0a6*fF!C>{Qzp+%!Lqd#su?QbT|nO? z7Ck{}goD1OD>>w6cqD8;0!27t?mXiZ5#k}-#F;xHo~lHBB;XyCYZ^jcNwwl;AA0>k z{+nr7L*KT_Lr-@7u){^+_*rpIvHkb9F7Zc@IVY`Am-b$?((4b~tpx9p`=_o-Ls9IW z1iwfR!9*$}xfm5sj8KWRYbg&jV3DAz`bGdwJ)}`djx4~MqdzoN)Ums?2>_vt@>296 zrl*v==t7pq0NfnUV5suVwsh$EOqk8MWC;iwDkVZV=iSPR^oBUma((9tK}EE*Dr$ZU z9)61E!Ym*@3k%e#7~>%I6|KxH)(MSPjY==n=L+eqR&B0dyQNu7Y<@0(ry#Zz zjAw3JZz<)_xbx{biO&rGoUuG-TSEB;A-i$a@aK}${->7-N~r+6ue18oPalW1(OcCc@y%103_lDC zXuaDuElB6F-ijS)zWE+#LzHBDr#uHjWir|Et`k8irI3cH(1tZY^->==wb0zEib5i9 zHVF9OvDbn4iv1UCdj^uTQEQU?5s43lo8w1I7L=D$7DjZaFs$#5ISp9mS>RGhs(ScY zdZ-owv#e&VK*@enri$<7pBc@XV$8f&l=1xWM305d`njTu+U}^V#Cbb>@D5G*OlF>L zsXO-jx@T=Byt(Do)#Y_`E$IOU_(BFw=b$Q0mv zAJ~E_$X1sOE8}T!+^+DdfYV$#^=bwt|IIZvP$K;5(*_j|oT6Rq#%|t#RLb&J`&{Tj zXoWGG#}QYwAbj*NBo?!5frpfVDOy1-M6m2^?bun+y4G#vGv&wkqFk$xO-C5Jv3|1i z^hoc|1ej;Gy{4vYuVLXCi1Ex#+|_jqv+KM;ywvuYX&j=dDqgq>=ANT4u8k9mzE@mMT#i2A0@w+YAo;6B2<;SA&%YOYp8FzpFJedoWABdpx(t;%{v6;m450y8KV6-~o zd(N(18y?Rpix}?3ZO7JXIAZ+xr)!8Q0PFkfDxSD|!@ZSK7hkRFv&lG^vdl;!YXkn& zpV_1rNfmB5E+T>nJqG2Q*kjoz4C7QLQR#=jwiX&P@eN?_v4cLX%1Y66l+xc7Wt4}U ztk=;P|tG~Uu+}S3CjnOxDRfx?Pq<;1bX(w*1dQ|jNwa^hR$5>wzJtVjMN8%bM z<~}RtlGJX-xvf~5wg8>JkMbBI`jz(F`bvFONwQZYs~fo`)}-08{@wWZLKn5UMSQ2#ZI2J%&@}W8_Lu%lCBQGfTvEkU!cPjWL7qCk22hU|^## zo-O4{UVb~{>AMl%koB{MeG*|*Ciul0@Ob&O`G}UDOLA=Vz05Ubc*pCUPwsc-c8YQO zz0sUP6b+k*R)e+(qN+jd4u_Fnhh7*@-L=S`7Iy0>Q>4@GRQ^n_q6qB}7HmCe*PY!Q zN}`msP+k5Q+F^CkiZT@LZGjBPiQ4NW-hEW)ynOxZhss6^SECN^rF#LLNNbUUcisF; z`$6M<_%SNBqKIuty~!}`@sZDE;*yH z!YAf#RDg23y>kQiw9+!)dc3-6(O+*NnZ^w?@OfokV})yTZlCHV2WY>{E6oMudm2vNU7e6f=pQ zbbtQYs&M#at3ln6Ke&1fgfa{lP)o>RmbAe7QO6-~Cfb^GOu z{Kwl-D~ii2&jrhwt*LyaI#*li#RGF8Pdm%P@g}>5eO+l<|E5W+^sRo20nZ<##OFk4 zK1Q3P61Y15lnbdjd8SNkv)ZW|}O z_^IH;f(Rg!JLjjn24aIpzl(nOr6Uwj|0-H^eG!D*=oi;pztcuuE?}~UCv@RZIELZT zP?ws(y98;fE}?p^cydSpa;vum++ak}<*{t$BA?vG8l4G1Lw$OQ@%+=yM zm4k@JyT+Q81|T9Ucsk?jA-3`>Lj@qIZE!y_OXahfU-UDz!8o>N*VH+`gMUmpXu5q>v~Rac-X|BTv}g<82>r-v3qw{zz3( zsD;WK(SRTGRG^VY9KZGKHlw*e8)}SSJjTuE##4{wCzH{~_&MDa9p-oZTn5Pk|1M=M z<{#@cRvoC19X4FJz>fx@`v>qN7(VpCQ}$0w!At!SF4xQ9u@km;ILxDw;iLD5@zb{q z=dq!psK}B!3NHM-sJyBmc*Y)5=0Mr2?+Ecn1BicS00qdf2B;o z|4y0sbG+cc|M~xOydvD+fd7PKY{kJp-!cw;DEp8 z75Xp1@8L0VK>zGsi2L`v>J|`3N4GzeriY0`|AG+sw>b4r2sQk_A^w)C9spAQ0)Xn2 zQGhiGpk8HaU{pfr@IygK0;MQtd-iX6=by+WYM}oTdmb0$ghT*ospn50tC0~( ok&OezXcPmNe)FxGu5Yi_!L<71Bj-o01Jl#`1^A*k4K|KfY|Nn7TCpekz%+Bc*?IQ z0YM@_0N^`(ygoS?Nq<_`BxqaL!wVGv19t@j0Knlr2WDz2L6$kO+V*v#b7i@3sCS1? ztm@UZiW^JFd`zddl<0fya0(v-q* z4?7!{op=4JJ9;uc)^GfbI%*7dJs0A*)&9*RDW||p=Lha9*b(Z)4Dq1P+4b?o9JRUh z9a10k$Yk!fkCTqr`;g^4VsadR*H-eHHd zXv*VKybG*GqxwTVeoAT8RVu=2Ne*e`1O{J&F2Thqn+M4Z7<=z4T)ZLlBm1*28uPq0 z=ZIp-q>`73RUZ#dffhk5bsa@BmOUT$hiy?@M;lxH!r=a?9{i)twMU^0r7+vBwc0KH z*UK4Ngrh)?@>t3gJ4>I`i;`RqPq#ZJ8&l>d@epuA|4|K7Dop{+`*hq@t~Rz+K>5#w zqP^qkYr*|INZm~h2*tsGXD20urT?bPg3GAcHs*MefU2>$lbI21NZkL0rKBz+Q1tNihlvR9 z*gu=jHPSJa2dEuWHD2}{X_zX=H<{OZZI9Lq_q$XXukKCDy>3wdj={eJ2?-!6?kTTv zj!+(t2moY}0|3|nGJu(bm9v|*C5H_7uVHtwanaI52Eb<8PV2sX9<2X07>|io+?E9{ zMND#hQn(b6F9mBA(m=Wr4XH|!gf@3^7DRmn*)qDua`cuf_jeR>4P5P5X~z!NIsP@} z?j4kEKIG#)ZEXOKaJ1@os>zuyT(1y)edA|MG{o;mz!1Y#MdFUcL(&XiG=&JX%k^Xt zI2Fbwnk<^PCAYfYgYH%OoMla)_8`JXV?$i{@MKCwg_x)e0_wkRdMTtAqJ3;g;Indt z#h?)bu*Fh4#Xdb^x=dFZ8t%;35S)qwtg&#Ku9_3`uje~_^X}$itNr2>uM>az8_r5N z8T2&11KcfPMv;Dr1kR>i ztgW}zX=vbulWuaVFXLwGAj{+0rYp*Bx_+7EAd~A&KswCsc?ELyn7iSVQ&%`)my4X1 zs%YsdH(ep>k>Y9^j)MbhL0KUrVy^}7dJhccz*dg)DdR@o89cEcVRi6#xn`nD)m_i!Cp4|Y& zdtY!_c`Lo+gpV)^o+?-!d%76z?j2Y4r=V|Crorl}thjHz%UY2jl$4({G^BUVT2iu) z!42k~ckgDMzd1^_WL7JNfU=`QXIJ@qBc2G)tFXM_u{rjy+^qR=r{5H$^742-^y7_Z zXwy2QnXTF0$VPr(yfsX4ih8+`ix>dC#sHE73Q{U&tY8{g*A98EE6<2w=(y zgtn6#kjuK1O6_Yr33_v8E}mOO;h2n&N$;W_&cMKC`5-2fUjibc#6;;TK0(|5#xxLD zIrFroKhV%JN=Z%Z%A5O z+&;i+^SXfh_z-DIgYwOA`&;FnT^HE2PC(*L#eHibeD9nfteFQ-KAIlMarriY_$pqm z!ho@!r#bl1i<~LXG%sRT+Fc;koRQvt#5O6;$4)lWy^eRb`BZs|(xRSTH}2#~!#wjWSFu>YJ2+bS{6b{_4jkdAXoeY6UZ#AW0aWnrX0f1Zt7O z2u}V8@x2|fODutaE_E56Ua));Oh+^uiB8R;=^zB@lVCWk5oQDur({3ZneG0moBjkk z8*Bh$xJV{9iH!kLoRkKN%O=bT!jHKwtA_>b&r)3>5&5Mx6n415tVNMM+z_ZU_Yy}p z?NVUD47w`bD%?F^_|-l|9vk>PJ$nMBwX7F~tO3(Q+IFLy3Ts*nsIg?(zqEe3)k-EA zvy#-vKxDC=RzwAVR=(ggSYpnufFOrnvsXWoXBSRT@NJZ;NsAjI&My=?$c7fJ2EcZ! zb&OpL)`b)yCO)hkbBFTsgA|EqA2#nNjWUy`=1d`;p4q{F7GQKdD6z6^D9DIq1Ybu*mEAF2@Z?k?EGLGj<+WKQZR| zi}3jA1g6Rsx4eQ~6tAGTt-;ayK6J30TQK=)w6jF(3=6v@{QVzA5q`Hr2GPR8&<#VP z=%Mdy&MprQMC7K!idp2uCFB|nI)~Oer@BVvVbN4t2-N`*5CE9>T$TBeuQeBP(lh8S zx6xri>_q6^m2>ZnYEt=OfY!n3eH(+Ma+VaE+ZmL!^ zp^CKC6Gc*Sj~hH=NG)JxTr&5qcN&*h)8>nqUIDj-7d)x3m0u`3x#Z*YR8%<-bh$fy zc=!-uB&g(7FJUP7fiY{IvR`7tyDf#Y_ z#W!CUfKgh7h*QPn3L-RPVeOO&<@SpX#D~4fGBrHWgr?x7LvET`+4D2J@P;D7L4^TF zfp0A_?~27QM!^2Dje8C9J^E=K<*ZIJyN^bd+V~h_4)M!-n4oMRb#1b>scH)#ci+@O zw@@0dvtQPlhh|gJ8TpKIzPC=

{l;E{O`=K_L3!q6S}x&6U7HybkcS@@r4phbSkW zTnD$TGCl9M5Ig95v^Dg~*M9Pt^Fvzt&z0mCs1iCk zc=+wIZnN$GeAGSEhMc;eE6h6<8G{9I!Nm>l^;=0wTws#^KLZN+e{0gQ&8+(>XG zZXpvW6)N&8NzZ9OS{o}@H@3l)%#7x=erYoxZn~jE8j4yxYg*$qzbBID6%*A7B5{Z z$o1zeZ|Jj+D^ZsHnJAI)TG4Y4{RzMwXybOApeIg3<9mpIj zwi(WV4U~r}B3R^BiXCNHCqTaJ^N$)42@F#m5quG+| z4}ue^^7onDvR7<}a~zv2Z1U-BnJzd?Xz#?V&Af8>p2k%+*g@ky_D()Dg)09lzG8U5 ze)70Yr#YH``FO7S|GoNBwzhTh`oH39NN`yfD!=^S#n&@W$~`YUv6hBu=GHf<>uXX| zyMCXf5Kx_M9;dCAb=c02Qhg$4;LEZ6CrziIeC&iWm{MXy;Yu*&XC|{xag7hoiEdn4 zM1wjL!>#!B%PWugjICDlTZQU_u%SV)sRpZRQ;6NvbsO`aw!0Nhf)f^jJgvhBrxc^E zi{dm@=$nb%usX;>X?mPOoFk|=d6HR^Uxr-(C*&4EgN9M}g?=TQhsp1dotE+`EOW*q zaA%=X@pQa8HCW(+p}|$aTV_bP3Pc2oArykHI}ok#6G_A|Vb5m1!q@#>XwRu)XZ&n%TfVQ{FxegFS#d{k3X0dnEBUhD9p zhtXk^RMKFXn{SPEb_EeJt~IvAv^X9kQgYpY7-?Y7?*CwCvOlJ{zoz2xe{_^mCNh}? z$2G1wrutMrvysd(+)7x#ymW#m<26>+H!<8i9ne?xfeP#%wPJf2;lg;#U%%OOmLQZv z+t7(tS+gF7=zh=`ha`-DCjULFG?-kGHH9su58rQ=26CWcwFrBSQDdB87;(?=(Wh(M zIRoYV;`kOLHs5gF$}@sVcvz_WZiDM|hTK<6N4ETY>Ot09SF33rIck zq)z3mqe=LC+6{7W1OKl_X7zc#@(JnMfmZ36jCg1ZE(N&LZd&*9e;*A;H6`b6PPFGq zvMzQQ4SI>u0*nNd{um{UydRF*!={e!@S-b>{_$>^{%62gVXyz`?UH}SoU~H7IsS5* zYq0li*%$_oMC&oQGzFE(jMJpe?iaQE$Et_YoU;TyRMb_wV*mt0%P9xEoxlN9n)Nr3 z$LMA`$JUQ)+j=apQtVSV zh6hj-{e6xm*;;0!aQ-Bu#Ane;<4hT{P%9-)eiIk4#hf1)2xLN34np>IftPTokI4OM z+j2G*jS<%2FQ`)RCP*7RmgcKdmW1kn(7>J(;$HtzR%5CHWXRp~TQ~Mw#WX_V$>|K0 z^GrKrbjCEO-{UItlg~jigHAo)0knd-;G*9rr9kLa+a0Xm*ZRi3WjP(1kRd#qrVh=P z74O44{JU;7;jPq+4w!#YpvLbfU(QB^jQq?1Ef4?)zygp#yGn7v&vV3O@nu~{oB#Qo zd{h;$bI&W)ugzo8ZsA=PLq4tYxa^=jxeFZ0c zh=T1`(!BS?zE02CGB zH{a}Zy@y2P)Te^s=(=fg>Zv3ToS{tHMxQXhlQ5KT#tGYC;u@U^YoEb?skt4{{mn&g z(JeY=4UP2>{d*swXQf0?7Xl*K&+^OAD1y4bwpM}=4HhVDSF1{5#*d+A9xC5Yb2B!F z4gfSJK|9p&!L~0t(f{1qVbUYYdlTy$(NA!G*9T4SAe3CbTZ}9n?SfGUEw>^4=^~^;6GL2`J`!tYH5Bv zYRbD2QcyiXNJ6PIy=WUI7%S`k@T#^})JwGK6#Vu&pEWj8UGQnh`>sEc-bRp4k6`9- z*7sCy-+80emqVO%rugYWD$Ow2^7j>}S-)Ia(sSXE)u@Uz>d-sOikHKAL*hLWbH@0{ zEgXeLV>=zj=kc$4w||y~mMSlQU-faP4)CUZQCc!l)&2Zt@DEAaTX376)b3GQKNp{J zkAUni79T#x3jR53+k{Cyvs7$E0WDP%Ui}oj@Gz%ZtHs~B zX$aI@>1{5&S)7a(XO1g1c?G;?R^`%?=E~*|En$`&Xb-B|_Xaa|8dLdJY!xjYNe2d= zmeiCM$^H^SJ#+%RvRq=HW?kXK6Y30Q##9STvtN!3MZQ4C#5;gTph?@JMtqN+UQ%M0 zH4_CyKQfQTCtcKX6$?a>Au7$5@A+Ucq3-Y@1!WfB^vx$O9_D!ta;yVWRDf-u)kn$K ziKe{Y+2PH{f{Vf3h=aG;(yT2=*+8UOVQK2cTA)J=%8|OM>0p5*>ka~+cylh?X8!?w z!s{gjo*B)VlYy9X3xjGrOhAP_z(WBV{}pI9h*0gg#+3t#L*X3-AYwFe^;QMMv1+_) zK-8ygcK8#TE5uE#)T9td&p5Pj5747UigOZjaDz))Fa)d2fpQT7g_^mHQ0go;;6JE{ zlPt0*(o{qsowMy=&x8?4pWkN*#5w076p2mDkYSqh=MtHAGvC*|9+3)+NbKaY$h~`z zqLFe%4|f3V1UMs)M2*vVA!JDuA@>q+D|JlNKIRfvbV}V)hw8?@1 zM6=Nt_CZO}6Sg*FhgI{h0$XbClAeEbiAK=}6PZ64ETvL>BCzofY!pi$C-D~w-- zq9T&FFtHhaE6IRcOlOa-HWzUo(5PopL{dD^GLZ71R#s}kQq?rOB-Zw4sMU3@*jvcQ z02DNbK29Zc;xshqtEs>|GR#+FvyPOk%GG4kDuUnF+7;|Tz+Hb}}aq%+8GVZ&e9=5Muy{p%2kpJ(h=J)9Z>iA1+4{!j<%p0Elq;}b~x8oSi#>9h_FX25RQfx ziFa5>t@S=OaV>&G6zZ|K&{9r}W?;2&h;Jit2KkVyUTvE(xoBwDbB@^RPT%$&H-}u! zJd)7yFn?S)3S3;f1^A@zs`Xzs7{vD`zsXdX3q_8|=(sJi(+no$YFlxyj&E$v00*P~ zafOzza7;&mXY{-queLB~($y;NQs|SX<}xEa#j&(;Ok`Y z?xHL0*}g?jwj?S1e$U%7-tKqhpa%%GzkKK^t$X;fR4Y2~liVJU)12^Qi;&~Hgz|`G zmh70vWuMk_X;CYCjZ1^p*U@B3Yy*Q8dvCj*xA3HY zuDF$T3e^(WMrLBxJ69Wf%k-Di5a!X(%d?L7=8lA07FL_T{LoH5t*#?-?Ydgxo(PP< zSlokc+Giwi-%vk56f{V>lmn-rFlbVSc2_NPc{OWu5&}YW=3-$x1z3k!Su3p%X%uif z%@|N-XxrH;X0$+hF)m3~BPnkvGZWoX$eb9@2$UM`rrk~{eCz>qVixEDbfOb84f{k^rX2ZW z#NCJZlaef2 zO#G0m+XkYyDQ?#4c91w6qX(g<`-X=DP0~Y!LBhJ0hiD~du=5Cbh$!?(cg#19BW0{? zEabsRDQ(-&8_TWRKokM)4K6A*d-LZ-Ld>+@YTgK#l{H5f-gx|Y?fxt3Q>;+SH@blzwu5M*xg!kL z3wuw)6(Jkb6c3xqqD0xvxNs1sv#;N}?&vRLu7#)u8i&($Mu+x-2%cwYh$i({-nVUj zq(%@GZN#Q`A9cmX#5mw`0&3O*r7cl@RiWjN2pegt+C3`;jl{Jd1Brb7ao@_B1V0*ZZ$oa}2twH**RRyypRa>*oO*ESGV(>wP z@54b0p=UyNuqg5UMfY+N$~Q4dQ@*Depm+NpLF<%9t+g0ZazxiV9hK>KqlR7;$q%7# z#tx3wYA--oWwgvV3z8c9}TDRq1u z8>W%!E~^R7GvQ;C16${B{1JWnMfk`_tY1cQ*PxXEewSxl9iDRfUggOI`#i5tI#rmL zhTR4k%L~VN7>cSMEDGR5U|Lf^TO!IOW03NO#@~`tD0;* zS1dv{GI;hKKUAXka@GnAvrlt6D@dG188$3Gw9*iU{2bXHDC7!oCLq{tuk)Q5_F?VY z7UE5@B8t$xF+rqyc@xg0O+m48wvgg-EN>E?h2la6@UP%_eDufN zGpQxiebQR1Ho96oeMA9w9tnugel2@DVSZ)~$A7}@hlk@8GnRX4dUK>v2+Kie;NgX$zymfqF31($ShY zz2+<;d?Zp*GS)ma!IIx|4f7D+55#8m(c7jjCn8L)Y#fYe6@koinBJz zn^Hw*%eA~OJc5BLllp_gKw=G8c$XXp@)LGIVvD#Tz{{=>VbJ)3YfCD*w z#U!z{6dG=plDQR;X}BSJc?NSHJRWjtB3w)AYhGA!t<0j$e;7e-yWVlZyUIoZUNAtG z*kX#rsw7K*?DH@}7&l;McJCSvUJWnAysiGVdH2qwaW|5@VZCLS0!#UT>esuJX~BG4 zA-dKNbL6J@)vuZ;VLaDlSUfvDo=(KBCnGZ{*6t=LQXKnYt@aX>7kqg1+dmGPgUU_{ z9NuRe1BxR z4M=D8)O9``7K;0ZC4}4vHrWh-vU-j?JZ+Jm#rG+@ehfZrNQd@~%O0Dwwgt6(1Rg5; zxSII8NON@m*^OTlsvO~FY0pxw%)RjOb`?}0oJp5}~cd1d+(++X`C+xs6~kwS^S z>b^v~e;tMcI+;U7i`br}>v%3)=w>m>f9;QerWUaPk@TTcCFFwtyNXTpcY_7sS)l;r z1&%x`tN*vA{jVi$_`gfqf5V}WVhUg(3be9VNa#Nl@)t$+-!nC#{wtG`x4WyuKlIt> zOwT$xG@y)(>UoXrzZBhnk2gYxnw1d2K8v}3ouMfu6u^57Xj2Iv)qiM=&;8;7{yk0{ z3yM)n3i~WO{*9x45yAdH4eZ$&=RchHumR96TzvTFtLn7-`~Rr^OR;$tZ2mnt7#G@E zO88g0dAX?Hr4+zvJSah#8ZZJMYWr+5iJ+}z>^%ReNdN#S|B;1G6#%exvT|m3ajrhb5`)eu5+t0jO3e<1@Dy+#7~&g&Vv0~`MuM(9b6B8(_h^%;%$VM5(%#ef;U zFRm-KDnNzU7pPIE2xN?h=G1|JUlLwg-qtGs3sYWTO}z{dCG`a+rDHv3poi)-kN{UQ qUz*Yy)PbhiFYqWA2}<552JHLCVQ3>C1_OWrz>Wz39OVBUqW=$-$?3xY diff --git a/src/alforge/Env.php b/src/alforge/Env.php new file mode 100644 index 0000000..e5b0d5e --- /dev/null +++ b/src/alforge/Env.php @@ -0,0 +1,28 @@ +siteSearch($query); + } + + public function execute($command) + { + + $cmdParts = split(' ', $command); + + $server = $this->getServerInfo($cmdParts[0]); + $site = $this->getSiteInfo($cmdParts[0], $cmdParts[1]); + + $response = $this->apiRequest("https://forge.laravel.com/api/v1/servers/$cmdParts[0]/sites/$cmdParts[1]/env", "GET"); + + $this->respond($response); + + } +} \ No newline at end of file diff --git a/src/info.plist b/src/info.plist index 5f4640b..4da6654 100644 --- a/src/info.plist +++ b/src/info.plist @@ -149,6 +149,19 @@ + 7CD1813F-FDCF-4F8A-B25E-3BE6180230A3 + + + destinationuid + C701C43E-3BB9-42F8-9680-9005CEB8DBDA + modifiers + 0 + modifiersubtext + + vitoclose + + + 7DD3BDE5-A157-42E5-9376-F681FB50A4EE @@ -227,6 +240,19 @@ + C701C43E-3BB9-42F8-9680-9005CEB8DBDA + + + destinationuid + 4EED1DE4-CF6B-47CC-A636-3E5F96FAC89E + modifiers + 0 + modifiersubtext + + vitoclose + + + C70E944D-350B-438D-89CE-3E3D7EB83A77 @@ -355,6 +381,54 @@ AlForge objects + + config + + lastpathcomponent + + onlyshowifquerypopulated + + removeextension + + text + {query} + title + AlForge Error + + type + alfred.workflow.output.notification + uid + 0CA4A9B1-B7D5-4B14-AC1A-36E7BE1B7571 + version + 1 + + + config + + concurrently + + escaping + 100 + script + require 'vendor/autoload.php'; +use AlForge\Deploy; + +$deploy = new Deploy(); +$deploy->execute("{query}"); + scriptargtype + 0 + scriptfile + + type + 1 + + type + alfred.workflow.action.script + uid + 6514E3EF-7AFF-49B1-B71B-3CD234A2FFC5 + version + 2 + config @@ -406,61 +480,32 @@ return $deploy->search("{query}"); config - concurrently - - escaping - 100 - script - require 'vendor/autoload.php'; -use AlForge\Deploy; - -$deploy = new Deploy(); -$deploy->execute("{query}"); - scriptargtype - 0 - scriptfile - - type - 1 - - type - alfred.workflow.action.script - uid - 6514E3EF-7AFF-49B1-B71B-3CD234A2FFC5 - version - 2 - - - config - - lastpathcomponent - - onlyshowifquerypopulated - - removeextension - - text - {query} - title - AlForge Error + triggerid + push type - alfred.workflow.output.notification + alfred.workflow.trigger.external uid - 0CA4A9B1-B7D5-4B14-AC1A-36E7BE1B7571 + AF915663-530F-4A49-ABD8-3649E9DA17BA version 1 config - triggerid - push + browser + + spaces + + url + {query} + utf8 + type - alfred.workflow.trigger.external + alfred.workflow.action.openurl uid - AF915663-530F-4A49-ABD8-3649E9DA17BA + 5B97BF4E-6FA3-4BF7-9AB1-69B4BA2E4434 version 1 @@ -539,25 +584,6 @@ $open->execute("{query}"); version 2 - - config - - browser - - spaces - - url - {query} - utf8 - - - type - alfred.workflow.action.openurl - uid - 5B97BF4E-6FA3-4BF7-9AB1-69B4BA2E4434 - version - 1 - config @@ -571,33 +597,6 @@ $open->execute("{query}"); version 1 - - config - - concurrently - - escaping - 100 - script - require 'vendor/autoload.php'; -use AlForge\Reboot; - -$reboot = new Reboot(); -$reboot->execute("{query}"); - scriptargtype - 0 - scriptfile - - type - 1 - - type - alfred.workflow.action.script - uid - 031E2908-466C-4B92-BBE5-EA652D78D96D - version - 2 - config @@ -655,6 +654,33 @@ return $reboot->search("{query}"); 100 script require 'vendor/autoload.php'; +use AlForge\Reboot; + +$reboot = new Reboot(); +$reboot->execute("{query}"); + scriptargtype + 0 + scriptfile + + type + 1 + + type + alfred.workflow.action.script + uid + 031E2908-466C-4B92-BBE5-EA652D78D96D + version + 2 + + + config + + concurrently + + escaping + 100 + script + require 'vendor/autoload.php'; use AlForge\Term; $t = new Term(); @@ -744,6 +770,34 @@ return $t->search("{query}"); version 2 + + config + + concurrently + + escaping + 100 + script + require 'vendor/autoload.php'; +use AlForge\Forge; + +$forge = new Forge(); + +$forge->loadCache(); + scriptargtype + 0 + scriptfile + + type + 1 + + type + alfred.workflow.action.script + uid + 8AFEBE96-B1B2-4523-AFE0-2BBF7B3DBEB3 + version + 2 + config @@ -771,25 +825,20 @@ return $t->search("{query}"); concurrently escaping - 100 + 68 script - require 'vendor/autoload.php'; -use AlForge\Forge; - -$forge = new Forge(); - -$forge->loadCache(); + if application "Terminal" is running then tell application "Terminal" activate do script "ssh forge@{query}" end tell else tell application "Terminal" activate if (exists window 1) and not busy of window 1 then do script "ssh forge@{query}" in window 1 else do script "ssh forge@{query}" end if end tell end if scriptargtype 0 scriptfile type - 1 + 6 type alfred.workflow.action.script uid - 8AFEBE96-B1B2-4523-AFE0-2BBF7B3DBEB3 + 586CD727-A559-4C6D-99A0-E11F09AF8B08 version 2 @@ -874,20 +923,25 @@ return $t->search("{query}"); concurrently escaping - 68 + 100 script - if application "Terminal" is running then tell application "Terminal" activate do script "ssh forge@{query}" end tell else tell application "Terminal" activate if (exists window 1) and not busy of window 1 then do script "ssh forge@{query}" in window 1 else do script "ssh forge@{query}" end if end tell end if + require "vendor/autoload.php"; +use AlForge\Forge; + +$forge = new Forge(); + +$forge->setKey("{query}"); scriptargtype 0 scriptfile type - 6 + 1 type alfred.workflow.action.script uid - 586CD727-A559-4C6D-99A0-E11F09AF8B08 + 56F8FBF9-A577-4764-9D1F-A406E514B0AF version 2 @@ -912,6 +966,23 @@ return $t->search("{query}"); version 1 + + config + + autopaste + + clipboardtext + {query} + transient + + + type + alfred.workflow.output.clipboard + uid + B967E23E-9946-49E5-AB48-A76D78DD08B4 + version + 2 + config @@ -920,12 +991,11 @@ return $t->search("{query}"); escaping 100 script - require "vendor/autoload.php"; -use AlForge\Forge; - -$forge = new Forge(); + require 'vendor/autoload.php'; +use AlForge\IpAddress; -$forge->setKey("{query}"); +$ipa = new IpAddress(); +$ipa->execute("{query}"); scriptargtype 0 scriptfile @@ -936,7 +1006,7 @@ $forge->setKey("{query}"); type alfred.workflow.action.script uid - 56F8FBF9-A577-4764-9D1F-A406E514B0AF + FEC20C12-3ED7-4CF1-B79C-3799519F8520 version 2 @@ -991,19 +1061,23 @@ return $ipa->search("{query}"); config - autopaste + lastpathcomponent - clipboardtext - {query} - transient + onlyshowifquerypopulated + + removeextension + text + {query} + title + {var:push_title} type - alfred.workflow.output.clipboard + alfred.workflow.output.notification uid - B967E23E-9946-49E5-AB48-A76D78DD08B4 + B9CBA9DA-83D3-4BA3-9E5F-2DED5BA6AA4B version - 2 + 1 config @@ -1013,11 +1087,12 @@ return $ipa->search("{query}"); escaping 100 script - require 'vendor/autoload.php'; -use AlForge\IpAddress; + require "vendor/autoload.php"; +use AlForge\Forge; -$ipa = new IpAddress(); -$ipa->execute("{query}"); +$forge = new Forge(); + +$forge->clearData(); scriptargtype 0 scriptfile @@ -1028,31 +1103,10 @@ $ipa->execute("{query}"); type alfred.workflow.action.script uid - FEC20C12-3ED7-4CF1-B79C-3799519F8520 + 0BA6B044-E4A5-4D91-BE95-29684D1E8535 version 2 - - config - - lastpathcomponent - - onlyshowifquerypopulated - - removeextension - - text - {query} - title - {var:push_title} - - type - alfred.workflow.output.notification - uid - B9CBA9DA-83D3-4BA3-9E5F-2DED5BA6AA4B - version - 1 - config @@ -1077,28 +1131,65 @@ $ipa->execute("{query}"); config - concurrently + autopaste + clipboardtext + {query} + transient + + + type + alfred.workflow.output.clipboard + uid + 4EED1DE4-CF6B-47CC-A636-3E5F96FAC89E + version + 2 + + + config + + alfredfiltersresults + + argumenttype + 0 escaping 100 + keyword + forge env + queuedelaycustom + 1 + queuedelayimmediatelyinitially + + queuedelaymode + 0 + queuemode + 1 + runningsubtext + script - require "vendor/autoload.php"; -use AlForge\Forge; + require 'vendor/autoload.php'; +use AlForge\Env; -$forge = new Forge(); +$env = new Env(); -$forge->clearData(); +return $env->search("{query}"); scriptargtype 0 scriptfile + subtext + Copy ENV file of selected site to clipboard + title + Copy Site ENV type 1 + withspace + type - alfred.workflow.action.script + alfred.workflow.input.scriptfilter uid - 0BA6B044-E4A5-4D91-BE95-29684D1E8535 + 7CD1813F-FDCF-4F8A-B25E-3BE6180230A3 version 2 @@ -1111,10 +1202,10 @@ $forge->clearData(); 100 script require 'vendor/autoload.php'; -use AlForge\Mysql; +use AlForge\Env; -$mysql = new Mysql(); -$mysql->execute("{query}"); +$env = new Env(); +$env->execute("{query}"); scriptargtype 0 scriptfile @@ -1125,7 +1216,7 @@ $mysql->execute("{query}"); type alfred.workflow.action.script uid - 4836C40E-B8E8-480C-8C8D-B3D11A8D7F87 + C701C43E-3BB9-42F8-9680-9005CEB8DBDA version 2 @@ -1177,6 +1268,33 @@ return $mysql->search("{query}"); version 2 + + config + + concurrently + + escaping + 100 + script + require 'vendor/autoload.php'; +use AlForge\Mysql; + +$mysql = new Mysql(); +$mysql->execute("{query}"); + scriptargtype + 0 + scriptfile + + type + 1 + + type + alfred.workflow.action.script + uid + 4836C40E-B8E8-480C-8C8D-B3D11A8D7F87 + version + 2 + config @@ -1252,33 +1370,6 @@ $pg->execute("{query}"); version 2 - - config - - concurrently - - escaping - 100 - script - require 'vendor/autoload.php'; -use AlForge\Nginx; - -$ngx = new Nginx(); -$ngx->execute("{query}"); - scriptargtype - 0 - scriptfile - - type - 1 - - type - alfred.workflow.action.script - uid - 4101CA88-4BAB-4C4B-8B87-527691E5261F - version - 2 - config @@ -1327,6 +1418,33 @@ return $ngx->search("{query}"); version 2 + + config + + concurrently + + escaping + 100 + script + require 'vendor/autoload.php'; +use AlForge\Nginx; + +$ngx = new Nginx(); +$ngx->execute("{query}"); + scriptargtype + 0 + scriptfile + + type + 1 + + type + alfred.workflow.action.script + uid + 4101CA88-4BAB-4C4B-8B87-527691E5261F + version + 2 + readme @@ -1388,6 +1506,13 @@ return $ngx->search("{query}"); ypos 620 + 4EED1DE4-CF6B-47CC-A636-3E5F96FAC89E + + xpos + 1200 + ypos + 530 + 4F506BA7-CF9A-411F-BB46-0309C183269D xpos @@ -1437,6 +1562,13 @@ return $ngx->search("{query}"); ypos 20 + 7CD1813F-FDCF-4F8A-B25E-3BE6180230A3 + + xpos + 770 + ypos + 530 + 7DD3BDE5-A157-42E5-9376-F681FB50A4EE xpos @@ -1493,6 +1625,13 @@ return $ngx->search("{query}"); ypos 440 + C701C43E-3BB9-42F8-9680-9005CEB8DBDA + + xpos + 950 + ypos + 530 + C70E944D-350B-438D-89CE-3E3D7EB83A77 xpos