From d0fa37e8ea7c3ad450d9920ba6224b2e10a5e56a Mon Sep 17 00:00:00 2001 From: Klaus Weidenbach Date: Mon, 9 Apr 2012 00:50:48 +0200 Subject: [PATCH 2/9] Add Gravatar plugin. This plugin provides the default gravatar lookup feature that has been in friendica's core before. In addition it lets you choose the default avatar image type and select the allowed image rating. --- gravatar/README.md | 42 +++++++++++++++++ gravatar/admin.tpl | 3 ++ gravatar/gravatar.php | 104 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 gravatar/README.md create mode 100644 gravatar/admin.tpl create mode 100644 gravatar/gravatar.php diff --git a/gravatar/README.md b/gravatar/README.md new file mode 100644 index 00000000..ff209b0e --- /dev/null +++ b/gravatar/README.md @@ -0,0 +1,42 @@ +# Gravatar Plugin +by [Klaus Weidenbach](http://friendica.dszdw.net/profile/klaus) + +This addon allows you to look up an avatar image for new users and contacts at [Gravatar](http://www.gravatar.com). This will be used if there have not been found any other avatar images yet for example through OpenID. + +Gravatar is a popular, but centralized and proprietary service where people can store an avatar image for their email-addresses. It is widely used on many pages, for example to display an avatar for comment functions, profile pages, etc. + +* * * + +# Configuration +## Default Avatar Image +If no avatar was found for an email Gravatar can create some pseudo-random generated avatars based on an email hash. You can choose between these presets: + +* __Gravatar__: default static Gravatar logo +* __MM__: (mystery-man) a static image +* __Identicon__: a generated geometric pattern based on email hash +* __Monsterid__: a generated 'monster' with different colors, faces, etc. based on email hash +* __Wavatar__: faces with different features and backgrounds based on email hash +* __Retro__: 8-bit arcade-styled pixelated faces based on email hash + +See examples at [Gravatar][1]. +## Avatar Rating +Gravatar lets users self-rate their images to be used at appropriate audiences. Choose which are appropriate for your friendica site: + +* __g__: suitable for display on all wesites with any audience type +* __pg__: may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence +* __r__: may contain such things as harsh profanity, intense violence, nudity, or hard drug use +* __x__: may contain hardcore sexual imagery or extremely disurbing violence + +See more information at [Gravatar][1]. + +## Alternative Configuration +Open the .htconfig.php file and add "gravatar" to the list of activated addons: + + $a->config['system']['addon'] = "..., gravatar"; + +You can add two configuration variables for the addon: + + $a->config['gravatar']['default_avatar'] = "identicon"; + $a->config['gravatar']['rating'] = "g"; + +[1]: http://www.gravatar.com/site/implement/images/ "See documentation at Gravatar for more information" diff --git a/gravatar/admin.tpl b/gravatar/admin.tpl new file mode 100644 index 00000000..83144e43 --- /dev/null +++ b/gravatar/admin.tpl @@ -0,0 +1,3 @@ +{{ inc field_select.tpl with $field=$default_avatar}}{{ endinc }} +{{ inc field_select.tpl with $field=$rating }}{{ endinc }} +
diff --git a/gravatar/gravatar.php b/gravatar/gravatar.php new file mode 100644 index 00000000..4464cd2c --- /dev/null +++ b/gravatar/gravatar.php @@ -0,0 +1,104 @@ + + */ + +/** + * Installs the plugin hook + */ +function gravatar_install() { + register_hook('avatar_lookup', 'addon/gravatar/gravatar.php', 'gravatar_lookup'); + + logger("installed gravatar"); +} + +/** + * Removes the plugin hook + */ +function gravatar_uninstall() { + unregister_hook('avatar_lookup', 'addon/gravatar/gravatar.php', 'gravatar_lookup'); + + logger("uninstalled gravatar"); +} + +/** + * Looks up the avatar at gravatar.com and returns the URL. + * + * @param $a array + * @param &$b array + */ +function gravatar_lookup($a, &$b) { + $default_avatar = get_config('gravatar', 'default_img'); + $rating = get_config('gravatar', 'rating'); + + // setting default value if nothing configured + if(! $default_avatar) + $default_avatar = 'identicon'; // pseudo-random geometric pattern based on email hash + if(! $rating) + $rating = 'g'; // suitable for display on all websites with any audience type + + $hash = md5(trim(strtolower($b['email']))); + + $url = 'http://www.gravatar.com/avatar/' .$hash .'.jpg'; + $url .= '?s=' .$b['size'] .'&r=' .$rating; + if ($default_avatar != "gravatar") + $url .= '&d=' .$default_avatar; + + $b['url'] = $url; +} + +/** + * Display admin settings for this addon + */ +function gravatar_plugin_admin (&$a, &$o) { + $t = file_get_contents( dirname(__file__)."/admin.tpl"); + + $default_avatar = get_config('gravatar', 'default_img'); + $rating = get_config('gravatar', 'rating'); + + // set default values for first configuration + if(! $default_avatar) + $default_avatar = 'identicon'; // pseudo-random geometric pattern based on email hash + if(! $rating) + $rating = 'g'; // suitable for display on all websites with any audience type + + // Available options for the select boxes + $default_avatars = array( + 'gravatar' => 'Gravatar', + 'mm' => 'MM', + 'identicon' => 'Identicon', + 'monsterid' => 'Monsterid', + 'wavatar' => 'Wavatar', + 'retro' => 'Retro' + ); + $ratings = array( + 'g' => 'g', + 'pg' => 'pg', + 'r' => 'r', + 'x' => 'x' + ); + + $o = ''; + $o .= replace_macros( $t, array( + '$submit' => t('Submit'), + '$default_avatar' => array('avatar', t('Default avatar image'), $default_avatar, t('Select default avatar image if none was found at Gravatar. See README'), $default_avatars), + '$rating' => array('rating', t('Rating of images'), $rating, t('Select the appropriate avatar rating for your site. See README'), $ratings), + )); +} + +/** + * Save admin settings + */ +function gravatar_plugin_admin_post (&$a) { + check_form_security_token('gravatarsave'); + + $default_avatar = ((x($_POST, 'avatar')) ? notags(trim($_POST['avatar'])) : 'identicon'); + $rating = ((x($_POST, 'rating')) ? notags(trim($_POST['rating'])) : 'g'); + set_config('gravatar', 'default_img', $default_avatar); + set_config('gravatar', 'rating', $rating); + info( t('Gravatar settings updated.') .EOL); +} +?> From 1043451390deab7e304fa60ff581ac98f5bbc3cf Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 10 Apr 2012 06:16:39 -0700 Subject: [PATCH 3/9] please use make --- planets.tar.gz | Bin 10240 -> 0 bytes planets.tgz | Bin 0 -> 2346 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 planets.tar.gz create mode 100644 planets.tgz diff --git a/planets.tar.gz b/planets.tar.gz deleted file mode 100644 index 30f81dece54bf60586b90d7cc3038cbe47c44d0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10240 zcmeHLYfl?V7Ue7aiaQ=FZL-G3KoW@oA|}a9qD&qNnH{Z|$SQZ2-Mw^owW_KiWR?Fu z=hnm6Jm!(jd|0g!(2uG*b)VZTO6v}U;WH~wtn=h1@)YkbAe^{aa~8a>(@ZSU;u zKEn8Dw6il>qX&PZOmpbgSfPp5v{H8d@|K%F8oy=9|H7*#_&;0+P2PNUvDv|Q`+qcg z_;7D++5fwHqun*y{_2w40{DOK|AWWy_{Q-5{SCTLuSF&I>7A%ERS_a0mHhUpG^s8c zTc~=UPDIs|l77&Itg|8&nAXmUdML6?)dM<_mIUbq1iHv&O^q_PsAmJl`=`{#VT}gc z{CwQnTk9hUMp95n#3<)hs z%UNNp)H0)s!scXiN#+u7Dgr#7c>W-_sj8>Nj3b{Inq}mXuGl*AL#K&fmV7u(oSw-C zI;6yFKI;4HPG8z|kbDPR;E^F{Y6<)QI^KN@IbtG4M&WN8q`#l zy-k|7b;=lhDpe`~zzTR#hCJ2%V+E2vuZG2;e!?ROZ_A4F1F5OI_rBtpFBV?#Of4&Q z4*01?0Pr$zfHtU5!k%7sUL0(BQIsXI67zk=ZGBVrVAkQr#zs_!LyU{hf~No3*jVRa zTnE1U_ome_Tctvr!IRiXSS!-pdr?d2L)8r2g7=VmT4-ZgpMN8}snLbfWEB~!G=dNT z%4RHGP`X9D5Q448h#BWfo%Iq9+OeCO^rN|N;Y%Kjnz$vrI@$d0N|h*BO&2m*lpjK| zmA&K1NXtoLs1Y;SCnOPx()cM3;%WjUBi@GGu&@Az4{A!aM0~iVZIj{Ft!s_cFoT>T zF6vZzOWmck%ja?2>Q8GvUjW5#7;+hN%vSo#z7LHqA!We^_!r}F8a&f;duW;)c@A;8|%^Yk*Kcu{U)`{ z6SCJ8eY)2zK>wR`Jp_(H&s-NS1d1+-fVy}!(^oJ~BqQ+SxjK`Xr=nuo`^IZCW;*C?ZbGslN{yp;93CA#4i&h zGR&13#~rS4U?5OFc3Ve|+g8`ia)5Sb3c&QuAvrsrCT)==A9y3)>8X-jivZK01Au*@ zx~D%_{4uL=4K#o>Fn4V|4q!sfa{kKUFPPFz;KCHeN2gF>4Y5~LB{2YB$C2KJ$<$_BB zz~++jp#-|Hc=NK)Wdk7>y^o;FloQR^b~^Q8`5fGy7}S1W43C^R3?+5gRL8Q>14|ozQA1KmjPUgG_Zz zi@Jl}8AKCx(ofzCtB{Qnw@<}P zO$2VXmbwy>ADeF918wJa)C zWDepMExvCj=zz84_fOFp5`lg*+A>(dY0Qv`wHog3xfykha zB2(4YwinUEZjtNat}zV99NP2A{Sg-LM-r-;-*Su2YF7hy_B_sfIp$&(RRq6H(YA-?9?krfS$@Yby?Zdqy{_@?i3`TNY{G{m ziaQ&7SxS?G85Xx>*M&oY^E+3vxqPl?sf$#`BDQtJXO7b(w^f--fvQad9B~iIqCUf^ zusrNs?b0E#myJB^SozToQ)4=m<7{!*Noe3s&0Gm5!pK(h;dMZX|2i-X93HO&EafFh zhbjp=JnX>c9U30-%g(R**Sf=L0!@Ep)le4F7F33^&ehwM7*;A&<#VA6F0DZ$@9_+Y zdS_j}86SuOi#P4b$>nXA;{>-ueS`3`3JR^BxR&#=-)| zEwaN-F!+{NV(UVS2CdgJcqt~bylu7{Kw(z;3drd_Q6B*TA3>mJuAQMMm(P+Yl|xt( ztf*ZBuprtTF~ro>Gk>v|@7y8eZHwm-+Z!YLH7eMCj@zdv~q@x3`lg|i0+Hqf7=CTL2>fCU3oE=mP zCOz@o<~+;U;03=D|MSKzUopS<)h#*s#aMSO{Qd90+uNgukK*^=-R->*zW?v;ZSSnU z|K4TKulXKD@7rrM;TZvCd5ZIb-KSDcEfVaa$ZWn(JKNjMM?6+Sl?7H7SXp3Yft3YT7FbzeWr39i{)7d716~Na AzyJUM diff --git a/planets.tgz b/planets.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1be40b9d8be114549222bf0cbb2a0273a76cd9bd GIT binary patch literal 2346 zcmV+_3Dx!=iwFQ_GK5b61MOJ*ZxcBl@2~A&@!f32q+FUbg#v16IbORU4yb7NR;MnC zoEazab!I%WJuLJCASqzkl!kHUHne*WX>Eo$oHmlJ$S?|Ba1}AEWQL zWhsWa+|I>N=JaV}eUxkA_9>Smcd)U3sWLa&r`?^M>H}U2VaBT59%|=wf$crs{X9o4 zoyhcjs6X7G1fY%ow%V%|*Y*6bCe?T6@%8-g@8a)9{_pfx`Ts|(hmYX#jo$6s8+4oA zh(hkuJ5gr3pkp5q9eQ3=$|#Z3U!}21mkjt!+SI7Z;dP%*L{a6EelkjynMws!d5zN0 z6IrIqE}ck6f=nP9!i+`+&u$`_xKT#Z>5mCIfM;G=o$XTrD%JrQ|!$;cVMUWiPZKW9?7Nta{6 zBh3AKd{)JhfTTu_m37j{j4l<3u@?3UI|YFx-Wa|+aj7mxYRvgWEK4_1+7#PI;pi+0 zXvzDt#G5L4PluEQ166;)|rP+G+Qyo?3|{bHa6Bd z#MjxQ{PDInFk7LcaRN8toJc3Zi$=2HL@I69Bb-8rkuuh?K7U8eAjGXU=5#hL~a9!Couy68)7!(kA(wa_@JcJAUmW-t*Z==98}u#Gm2MPxxUkDk>&s3MIny>wKFtKhjz=1BQ#S=1=xvAvVQO2f&9(p-wN zt`__=6KYvlV*MMDxrFHVaQnBY{-=(gdA=!B*Zh9d@l&gQ{j z2)PBy+P8>UDMG0W1?E@jyUSR!*O9)TsSK&}P8p zpuM#PZauUbU2cDrMw8-RfSQRvE|4JQ+l;RrI-bRn4{qzoaaWr%lAb3_KOB;`^I1}> zEP2n2nA0;YZ6H%2!C+r#7s?-u@@NUsNThjhp-pHs2J8Hvk^eSh_(KKo-m~ zi)aq+aC4h;NhGj!O@vu&zJ1lFagN8=eAO5UK7J|3 zeE74}rM3z#On#Diohsp(l~cx#OCEyx!C*42@$f|2O7YGU{gIB9yJ9&YDZP=Z&?@sJ zo=yzxs;fz${Yu!$)fJ2IN?I#(mPO=(hh1j!`f4ntV|m`-CUi1E85K156r zCnA@13bpvT9-Pw5#C&UE6uUZ>Jq;j}I@eEs4?C0OXc2~6f3oj=n0CPxNayor*5 z%8*njaY%>($3r^+!fO)qOgkbVC;bzbS)6j1w=o67rvajq^b%B`Tek?|j{_c&o0DHo zzI^uFrF^*MiB2QpjAwB`4UF_-U^^Lbo>9`V^>BuLLjd{{^|yljpYg%pJ|9zEm#*DV zkKCHfY`8XIIN;Ep0(bh{1Y^}|LfhXJrozUD_XmFP3PgS5iWfVctDhpzhXQ#tox&IA zzWIq7lz9tf#|caz9(r?d{PyHD2QGoCe?7Z?kbmdg32(@l3f=s1>Wx-vXRfvETu|i)5Nxq80RdR zxFVlOfv!zmTyY=fsyxTcn;*7jTv|l#s*;B-CqKAeYHf>f3mYA_66*R}Gk3zFu(CEh zZg(l^EuZ&*$|y;T3W;)f*n-Vl)H~wM)^FywvK2M`nN{Q4Xl=OD`|j;q%q%Vu#zwJ| zqej8w+1L8=&G_(LdDH(K>QUS6hRzl}LQRP$hpqU~!rne5&0WuXgy#)(=LC^?vcP40M;xOQ?JyWq)m>Sp^r>@mc_B3%VB zul-znX+(uIT_hfULtX;y4_Yks?5O#rxYY>s+{02MSICk^Do;NbL0JH?GaR2}S literal 0 HcmV?d00001 From 9295f179b1da34ef6a00019a1fe8870373aefa49 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 10 Apr 2012 16:03:22 -0700 Subject: [PATCH 4/9] slight change to get_avatar hook, also provided readable text for gravatar default options - the admin settings part of this plugin needs some work. --- gravatar/gravatar.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gravatar/gravatar.php b/gravatar/gravatar.php index 4464cd2c..b9435a31 100644 --- a/gravatar/gravatar.php +++ b/gravatar/gravatar.php @@ -36,7 +36,7 @@ function gravatar_lookup($a, &$b) { // setting default value if nothing configured if(! $default_avatar) - $default_avatar = 'identicon'; // pseudo-random geometric pattern based on email hash + $default_avatar = 'identicon'; // default image will be a random pattern if(! $rating) $rating = 'g'; // suitable for display on all websites with any audience type @@ -47,7 +47,8 @@ function gravatar_lookup($a, &$b) { if ($default_avatar != "gravatar") $url .= '&d=' .$default_avatar; - $b['url'] = $url; + $b['url'] = $url; + $b['success'] = true; } /** @@ -67,12 +68,11 @@ function gravatar_plugin_admin (&$a, &$o) { // Available options for the select boxes $default_avatars = array( - 'gravatar' => 'Gravatar', - 'mm' => 'MM', - 'identicon' => 'Identicon', - 'monsterid' => 'Monsterid', - 'wavatar' => 'Wavatar', - 'retro' => 'Retro' + 'mm' => t('generic profile image'), + 'identicon' => t('random geometric pattern'), + 'monsterid' => t('monster face'), + 'wavatar' => t('computer generated face'), + 'retro' => t('retro arcade style face'), ); $ratings = array( 'g' => 'g', From 4d12c1abe6d6b43e204d9a387ba9d7cf1316a815 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Wed, 11 Apr 2012 02:04:31 -0400 Subject: [PATCH 5/9] re-do piwik css a bit Signed-off-by: Simon L'nu --- piwik/piwik.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/piwik/piwik.css b/piwik/piwik.css index e5e95bbe..066413de 100755 --- a/piwik/piwik.css +++ b/piwik/piwik.css @@ -1,9 +1,9 @@ #piwik-optout-link { - padding: 100px 50px; + padding: 50px 0 0 0; text-align: justify; font-size: 0.85em; - margin-top:10px; - clear: both; + margin-top:10px; + clear: both; } #piwik-code-block { display: none; From d679a38e9efabb2213c294e8537e020d987cc3fe Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 11 Apr 2012 05:24:45 -0700 Subject: [PATCH 6/9] first cut at a testdrive addon --- randplace.tgz | Bin 2090 -> 2059 bytes randplace/randplace.php | 6 +-- testdrive.tgz | Bin 0 -> 1879 bytes testdrive/README.md | 23 +++++++++++ testdrive/testdrive.php | 89 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 testdrive.tgz create mode 100644 testdrive/README.md create mode 100644 testdrive/testdrive.php diff --git a/randplace.tgz b/randplace.tgz index 931781d060a9feb147a03a43f7a5659fd8e874e2..7ab5f0db9d1769808dd0747f587395e7a32f6b15 100755 GIT binary patch literal 2059 zcmV+m2=w@$|{~_+)ZCn(U0m$J6m-2PS`7s*nY zD^=V>S1uGJ*XDYqEjb&cr!HB-UtlUbQQ+TB=CA_M`0MA#>m8ZjD z6PQ7w^I>W9LS=H8Bk?)i?))<|(!+u<5{z6b>!gt>Tr0N%w~}CQa3{w{qpPLg5^1gq zx>|}tW`n@zN7CAJFoH}6Wg(SLCQhdPF0VvnndJ@d3c6jOBWJ2WXk}UN5EfOD5RX1& zIuXbK(7u>mHY8I1ptOtobQ?W}>c_MhlUU+SUqCN{#^h_F{I0V>lt$+I3fV7=&iN$K z#X>EsU_yr0c-`r8(EnOx85_~anN`JI-GgI>dwYBJ7BnTJW9u(_d%FauU5W{Pysiv7 zF4w_5UY>AHBr9?QhC)gY6+7SyZ&8hfGS-nr|Hu4<(kN}fX|PTkgb_lF9GNk!_!9l2 zYP)sJXDh8Qdoi8Qm^AL!4!@`35kYGYUnCy!;j`ADT0JyE#$78=wH5$ir6aIgMATCD z0hxlxtS4a>Edh!F5(9iJ95TjO6p$E+IN_^Rnc^egtE@EW47osj6t%zZGo5vr)uMi* z{mnHr|1+G~SHF|JzsoMp^l~XpFA7LP5I5uz5`5f@yDn0HxfQ7944-Nfurd@k>~R}> z9E!u5jeI?=7;1sX0KRjOiyI%wRAyKTZe>?(6yN5cqbQ9*H;`mf6jiwvuU4r|V8!*j z@w$Qa!-3&*ydMS*EgtHUb_Wfc;Ly0Cw=eo|u&=Pd-37)=td(5(gwH_at_#jiUsZfz z^u_2$$-QK$2@9C!871oitC1~bq82J)R`!&Mc^$z^tW&~OA-(5_83=6)^mQRkmzIj% z+9Bjr@mAsr1!tMQCgre#hThV_PjFD{Muh5>zLcrYC$;E(}u8)ap2Rt&TH@WeSw%m!ZTP(H!D5KnmfA4CYZ}Y%rn^u zN?>t#ONkbrufOk8gE1`v5O}F(<*cg~3lGh2u?xf&rv=|O)?k`ykH}1m)FT^Hmcy!Y z`Liy3qqn{}q29jv;Kijx407vfu3T%ArI0A6Ivu)hfu%|=f%q|GG;%^dVg4iDWrc0r z`9?1x;`s-2Ho^`skt=0V4T-htxbNkmpM^2vrbne`pA@I9+K8D-G3uCw7_k|t%Vfw? zVq5M7a)b;&Q61Q&2=s8ILwWwZ9}i_l+#)qW%#~LAtt_s%+Y!ACYVOck|S7zksnyx=)ANd@r z{T!1{wSIi}{WG2wJUgzVVfv?$@E-`cxxk1v1LXRs(j5k2pSLgroWLf@)cdm^USGWR z$}tU=PoDR3fwR4>5TXd1D*`HI<(0@(>MM>&*yz2`IOa`i*@yV5ccB?SQ(W zF|2hMY7VSCL*j0s?E0I^5*zid&FUkJXRfG1A*H>q40NkNT?G0#Dx%SMSt75{*4Bg3 zo#lV<)8$2Lem;Qk&ckk^`r5=x6$=gZT#9pOXMX>bgL(((oP&MqyXGf-!?ymEQAk^)-^49*~ao~hyz2ej-gYNbQ~ z?xvJyk&_?XFtIiQe34k3MKKJ3SW$VN3o9!_v*7^Z;r#;%UZ-nu1i4I=IE&Ep5e(01 zGy2K=R7Anrf023gT2&cpLEKij^tC8OP#Zf)_>H+rRzIINwRX&9O{6NgNu?XP29&kmsc&{DBPwDQ?u;n{2)#OFgt#>^ zLv+M>*U$7)fY$qiIK&NS!7J=)G_r7!fqCT|X6k2y<;feT!g;XE>+etRXn$1iZ|2q* z7hHSc>)xTym0?i5HQ?jkpZ#;zcKyb6PdR*08K3_BcQhJLAJgx@Q<+4JQ|fB@M|s%*43lA#sZb&_JnpnuJNnO p<{e%%>HOKIZ`XEh*LH2!c5T;oZP#{f*LMA-)~~Sd`osVz001)=2q*vm literal 2090 zcmV+_2-Wu=iwFR^uU=081MOJrbK5o&_gDL`*zz={oRjr(WM%BwnM@zo&Rv>LoV$K- zGa875B-A9q0YN)%C;$8HF2ILuIhl6c^h1R4g8~+def;p-rHshpJQ0x`?EGb8h+{gL z?2IQ*r{nR{o#EtoeEf98^M34%M$_@}Wb*XrXtFaLji=+u4ova{L9Pp{vSpw2{ZE>Lb&dK%`uwuAD{W5TmAaDfs!9VqUs;=< z3}U86&LDK2k9zL^xF>DY4^RE>pUG=yfe{os zPzA)&%E-#N*R~}RNmB5HQ$)KnOvFrO2+btv9>Ai^BGS==L`MP@kOR(?0g3V-av|S^Lu-O0jZF15s$UpPAFa3ml-`8|y>YhFW^ezEN)mRW zK4(^D_iguK9qjGxRZ~z?PRrNd_x5%Pj=Pjo`t!Op7`RmX@VN7YwIW)%JQ^t-)QUcD zc#CE%lqoEE^ef(P$c@qltcJpBgD^yhQXmtCC2yi%G;O!S%xtCgRX3#d8H|BWdw@zoB!v@U6^#HM19S}VvaqNa zbCE%0B;tg(mU)biyss>z!C=S*;v=i#^^ogq%d9%;5BgtkL-#+SnPc@Q)w{hM;zTc( z(sTolBm{9S9-zR7&A4kL_4hl8s@L$TasinoyXA-%KE|G0)_mmcami5gI{NT~g;d}!QBVOOXNysKH+X4YS&y)JgYcjbY%3i9&vQd%C zNG(*vs)`d9=5Yuwk*9<${q>$BX26#{&^MVhZCN6_wM9sY@mAs*4^9$&L&hP4`r6XM zj}K52Muh6MzLK%KPioQq%K0-R+UOn};CTZqO*%XLO&Se~Y6mhb{t%s_GA>KZG1{;B z5`pLKA`95kWL|Y!F?@9f9O=ujRB`x@4x*F3(Xw!Aa=dsLVf4?@B!=b12Bls}jsefC z(=(`R9A|7L$XF-PYnhLoMT%2EdC{rF1$M0`7nC&IVZFC2FOcR6$~m z9XswkjI%IC+;)k2I%GIaRZh%Qj9JH9h#8xaxh#e{C6?u`7e~nO6Y;<FE4ey>{j@5RGw-`a>4DT$S>m(*3F$jnGiem9&^{vqrY<-FN??{xSl zj1I`~4;4ZpU1qlH)gH8g!e`x9QJGPoE4ki?W905o6=&{rEBkowyHoBJoI2)F|MoyF z;nxVbxxkFp4di;O(ryN!!&7(ztiU44(w*5)uP@#@<5&jill#3?;JZOlB1923*926$ zmDeIsv11$&vD16LbRs!nnZ?5y^c(A}$4*TzO@q3jFsxM=Dh_NsL*hPBw&P8-#7ifi??NB+$cF5uLuT5_S2qww{c3FaMM4E-xDQ(?0ljCJqzvYn?BZ zEi_bpDfXeQ{{3SC>h5E3_B(~Enjeh~GiP;nVQ&*ztfaKAqh$oJWMv_j(oA9D z^2~a8PJ1rHl}(eC6j(~2kMC*E6O~9Wre34k31tIkL z)sN_TE(%#1>J9r44jyhua64@a14w18#94rm4`6Uklff_Mmn`t!{)^nB*Q(M`3F5NC z)YqUCL2VQz+k53QAAhW1Y(ff`i%ztX(G_p*b}LN>@B&H2ubc(`A;7s42&>l>&I^@7 z`2Ovy|5PcF?^RJ_$JoUUtDXlQeNoFj)fM&x*P*AGa<+l%b~T)z)0!@gx{XzX+Mrm~K; ztR1N`E>iJEtsZ5~XR4bm$$&_##F-Ig0HIfL z8nrA;GB7W##hd!cWI6FVsBrH6a`wB`d)6OT^P9ER&iT+@INm#OcV*yBZyflr_ji9C z_Qj0{=2^!p6UDFd;V^%XA5&qF7Z2we2`0tq3C(_3(^t{nJzdnP{N1i^$98PTc5KIXY{zzN U$98PTc6?Fe|C!$Z?EokM0AEBV7XSbN diff --git a/randplace/randplace.php b/randplace/randplace.php index df713766..b70c02d9 100755 --- a/randplace/randplace.php +++ b/randplace/randplace.php @@ -8,10 +8,8 @@ * * * - * Addons are registered with the system in the - * .htconfig.php file. - * - * $a->config['system']['addon'] = 'plugin1,plugin2,etc.'; + * Addons are registered with the system through the admin + * panel. * * When registration is detected, the system calls the plugin * name_install() function, located in 'addon/name/name.php', diff --git a/testdrive.tgz b/testdrive.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7d314ea28fedfdfdd21653a06b8e1cd1e00457bd GIT binary patch literal 1879 zcmV-d2dMZTiwFSfcZE*?1MOICZ`(!^_E+;)%n42?rH~xwIn``S174u3l(aX|K4{cfe^N*w%75^UUkc*vi7jM%~KR&R<4t(D89^ zr`tO`?sgA%+P$Oh(P77(&uORAIX>)kj}MLyaNap+x4S#k`|BXBs4T27L_4X7Cd%BZ z>+wJA9(8u8{ne3d zp#Ssu4-o%zj(>2rpdbhai>x43kf7H_$t+fppgbujDxC#YhYW>U2e45i(C6cTrktF&KY7g4bG$V)Kdo7nnX&Ca4 z8O3re%EVHptH?Y9W5;uq!K?tfB2h?Z+}zFV{K%?XXE$7-VmKRGXY8V2FqOsy2%>eK zYh%ky*%>2~pDY5#4xF2}bYxkmY~qdcN}6=Bf`wC{5lNH22MjZ3DHb7{ham9bkKpc! zq_H+sNK{TFp)g+PW-}@VBhZP4W*6|0NJJJn?5R*Ni9OJy!3q^W%1a}YnUn7n19%`P zQK@2glL<1&l*Jv@S}SQTQFuu-p@LjZF0| z%!xD?69a=Sgnsl$wCexMzc|Ogs*XSC|GndGZ_)p|z0Lvpf3J7Y-S+>-pqGC~w1c4a z>{&q1=&eZQ2`w{$kIrQg8I^NtpU{=yEPZevv_u@EVycyjDzEgz)eG(hxKnoeyH`e& zHUBJ4;k0&|ZT{Xb?Npl+x>O$}T`s~!FQ?Y#C#}{pfKAj=3zg1ox|M?Y72a+IOp792 znK(o-b4#r^=(ix)HFBa*&Sp5(`eQv@ew{-M_bGI?w!Tm|%&?OE;PuAo0~L|c*`E~a zUV*63n=QgEaL=YPdjzWV5$qy7wltX&V<6+#dhMql&ijK4zHs=Wvx{^cdNIWiAkQd# zQiK?b_(t|np2YsDqE2leV&f6&sLlh4RjFiHx6;^p_|xE9Ao4#mOcURP)bwERJ0uUX z!4hy!-ioBomI9}96Tolu6gzU|9hmfM38VlT$$F@=C@Evvl9{$@Jab`aRP8NfA|s1} z8ylT^v%O&(41Y<0J{-Kcyto?lFMmMBeM4{F4laKDx&Ke<(Ru$J-;_Y_-x)fc=mQLR z=q_fsjxT}d?nCYNiTi|9bC?jDd8|#t*|N)5wTPxT;8|kN7=OH5m0TCbh*_PFcSHCq zq_bDddhNd4?E43HmP_~K?e~K>uip)?-dznYF6R&Ztv+1xRMOO&63!Vh$xKQy0TGsOb;_OSI@PA1LwNq3Y!~Z?o0DW3!VZKX(Sioz=JgE$EnIt9cZ80gpK>0iON2D zPM(6fDn=MIOM?b+pD~|mtHX_qoQ*AvP7_(QFuWEzd;X%`{E$z)9~v%NySqrAGIwM5 zvRr;I@_$e?Uo4x(9QdLpmZ5DpFsA|G_vZkgKb_VLqvOWAe=FUeucv!$-cr`mc5@AW zt1(WcdSJ&@v#t{-LDSzD|q?!6*mM`%VmSK>SGpqwxOOD@R;~*3<{~sTwco_ zAc@7 z_TOjkGpFF5ShlH)$LnS#vM6{D&sLjHlYWsj)w$#?mt^)q&t&YE!^-f+wcxfbK3`ij zu`R~D!ApZ>h>Ln<>zy3AVUMRmw?xALIWcaREp((r!b?vIQNAevO&`?{wb@zRRi; zDt1}7`byr$3+Wfb%E)UpM|f%93eY_;%^GrNt)}L801BpdjVwN^@m-ItbosA|noqFW z&2config['testdrive']['expiredays'] = 30; + +Set this in your .htconfig.php file to allow a 30 day test drive period. By default no expiration period is defined +in case the plugin is activated accidentally. + + +There is no opportunity to extend an expired account using this plugin. Expiration is final. Other plugins may be created +which charge for service and extend the expiration as long as a balance is maintained. This plugin is purely for creating +a limited use test site. + +An email warning will be sent out approximately five days before the expiration occurs. Once it occurs logins and many +system functions are disabled. Five days later the account is removed completely. + \ No newline at end of file diff --git a/testdrive/testdrive.php b/testdrive/testdrive.php new file mode 100644 index 00000000..b7c021a1 --- /dev/null +++ b/testdrive/testdrive.php @@ -0,0 +1,89 @@ + + */ + + + + +function testdrive_install() { + + register_hook('register_account', 'addon/testdrive/testdrive.php', 'testdrive_register_account'); + register_hook('cron', 'addon/testdrive/testdrive.php', 'testdrive_cron'); +} + + +function testdrive_uninstall() { + + unregister_hook('register_account', 'addon/testdrive/testdrive.php', 'testdrive_register_account'); + unregister_hook('cron', 'addon/testdrive/testdrive.php', 'testdrive_cron'); + +} + +function testdrive_register_account($a,$b) { + + $uid = $b; + + $days = get_config('testdrive','expiredays'); + if(! $days) + return; + + $r = q("UPDATE user set account_expires_on = '%s' where uid = %d limit 1", + dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), + intval($uid) + ); + +}; + + +function testdrive_cron($a,$b) { + require_once('include/enotify.php'); + + $r = q("select * from user where account_expires_on < UTC_TIMESTAMP() + INTERVAL 5 DAY and + expire_notification_sent = '0000-00-00 00:00:00' "); + + if(count($r)) { + foreach($r as $rr) { + notification(array( + 'uid' => $rr['uid'], + 'type' => NOTIFY_SYSTEM, + 'system_type' => 'testdrive_expire', + 'language' => $rr['language'], + 'to_name' => $rr['username'], + 'to_email' => $rr['email'], + 'source_name' => t('Administrator'), + 'source_link' => $a->get_baseurl(), + 'source_photo' => $a->get_baseurl() . '/images/person-80.jpg', + )); + + q("update user set expire_notification_sent = '%s' where uid = %d limit 1", + dbesc(datetime_convert()), + intval($rr['uid']) + ); + + } + } + + $r = q("select * from user where account_expired = 1 and account_expires_on < UTC_TIMESTAMP() - INTERVAL 5 DAY "); + if(count($r)) { + require_once('include/Contact.php'); + foreach($r as $rr) + user_remove($rr['uid']); + + } + +} + +function testdrive_enotify(&$a, &$b) { + if (x($b, 'params') && $b['params']['type'] == NOTIFY_SYSTEM + && x($b['params'], 'system_type') && $b['params']['system_type'] === 'testdrive_expire') { + $b['itemlink'] = $a->get_baseurl(); + $b['epreamble'] = $b['preamble'] = sprintf( t('Your account on %s will expire in a few days.'), get_config('system','sitename')); + $b['subject'] = t('Your Friendica test account is about to expire.'); + $b['body'] = sprintf( t("Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at http://dir.friendica.com/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at http://friendica.com."), $b['params']['to_name'], "[url=" . $app->config["system"]["url"] . "]" . $app->config["sitename"] . "[/url]"); + } +} From cc5beb31be66da56066596dd1b71168d54b33b21 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 11 Apr 2012 05:26:12 -0700 Subject: [PATCH 7/9] package update --- blogger.tgz | Bin 0 -> 2247 bytes gravatar.tgz | Bin 0 -> 2349 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 blogger.tgz create mode 100644 gravatar.tgz diff --git a/blogger.tgz b/blogger.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f30042f97a37e1807a5f8d1c3e57b9d0c1a006a7 GIT binary patch literal 2247 zcmV;&2srm2iwFQ^GK5b61MOPtZ`(K$&)4{`V6{PI7fxiSc@(Mbpxe#$7HGHGHa#rR z6owwO&5JDQBq|T=_J7~uQx7YNl}p`=ye=L*r##I=6}JNpOS=xzdx>^u_f$|JzNX8fX>!{N&q+pc zI$gx^Mc3wQ!q|61yN?R8-5`h~M_|Z5EHhw{ErCm%y_ZeUQB286Y7ny5*^KAhYfhBuoUwIPLa&9aTC~ zO!G7XJod2VgI97&32sa!6QnxHx3Q*FIk&XNX_AhWSw&V{B#*UC(f%DML7}=wMTp~Yo zvute1!(|(6x(zn9CL zOpvVwGulD4YpcUlo|ATuag7{MXkrUJzc#vD1%`Ba#th!d=MEgYL4e{sMH#&bakjvi zYeE+oCGH%fEJjxt`EG=kE}Y7IrIZQ+;tLcJAM?|fo6_B$Ft*S3f-b`ab_4s1Fm6bq z3y>X-twNB6q(LdZrjDOw7FwiuHnzA00g8o*=VmxhS#<}SI8Dg{jEupy&=Lp49b0f1 zFiW#R>pVS=tYWus*!Ey=ex9Z{qOfZhYD_%i8xsKu-bxAcWL9iTxHf2)8iG~E9S>E7 zb8l!0RtV>5Yss~oDUd3Pl%VfdW|QR>6UM^*E=`bDh5gbj41{AOkX&%G-MO0@hGNke zEJs@Kv*mmf<#^9x*vG%m-n~_!j<2Cqv(9w}2YKQ4Y^5-$*xv?R|H4w~sa7tY^QeQA zuC&n~_2D2An=N~}B7y{}lxz#vY+t2rlHhbjOz3(zY*^37Ew%|gqidB??1V3^w)v<0 zY*N~Bl)6Y!|4Jf@B6wF(v`V#)XSIq#mdte-yx^6s?T6Tf-Rnwtm&sJHt#35V(O@<; zXVv{##B>{DX}D6sD-1O)rlqyGsme*m%iH4`Ol8*k2Gbl322*n@1}hS{jlndWG+6Ph zjaCfRjHav1H!vD2C+i!GuWm3F8(%RL+=|hs4{zJqi6b=!m6)p8hF8yTVV4_u=Cm-5 zW@)mJn$%{hzi{wwkUr*GSxh6}TDYdAHMR0pK1d&4!r&N!4)c-(7`Z6Ry(OW@%PED< zZk@A7aA-@TYIiDTt@57LP`NVe!DjSI_wDixh14#EQ*q%}%SYE&v?uvzq?8s83U}ECcG9 zR(QIWuHfmJR(QNQTEXI@9H+DSm3y}C*y7e*^(x%k&lV)(*98c04?2w->E89BgUT-ZlXFrn@Uo036}x5umCe3aG4@CX_cEYf<{yZ%i8w>-B633O|;_* z@aa>;(&EF(@1IVJ%#cf2W*j3OoO03U+M+K#=-UT9wXtHEn~-S+*Bqa15d^hUymGDJ z2CVF1__B2IEN1kzvtmD3l+iTAk+3_U#|h22U-Xr{JkBd&Usl?tIjQMOUWJ)fD zIaaP_*UOO1ZYoaIVSh_)>NVWX)`uzDyE`suxA5w_nMlFXMj$*Z8p&tIAWw%B|1T#g zp2m@nyEcjZFb}Zfd43#V{`!pLZf;RRd4Sp@{)=}LU9J#+X6bT_N{^5{s@a&O@e=(j zB@jKtcUkuFHbdgDD!V0LXGtkLNXX~#UL4#2dU=_&Du0yf!4OQ0Mk93c{;V@PX3v-6 zv&i_|8tx3vEvSM33KbFtayr|7ac&(?I-@0~i#T`<^>hMpAs^W%oQe9H7vU?mkC9WF zV@n~n++{Z5(Ig%wBYxOVMi8(dh@I|oz!CG0vvyMU@yL;bE%{YUJcvKx_GrNfMRGD6 zIqXlva`_W%sf;ZA(E(?2{|ZlZWz-*`z@_ey=p@0@ef0MIn>QyProX&8dnE!wCIZhP zR&8vGS+Rf_h!uzw@yR0%^{PGt;!&n#u_fZHm4P4xLeO9HSictUbqe7pKYw~74|}Me zKl+=bq3=ia@Be<5J-Uqh{{P3`!LIrK|AVOWlk|M$1!5oR;p!{0(nR%DP-&uetB1pS za~8%f)V>hUDAcJd641pF+8qp%Yj|9`>6}E{&>kJ3As>Poq|wyfyg{V~Wt!AjRp4%k z@;3fwZQZ_H_oF>#$dDmJh71`pWXO;qLxv0)GGxe*Awz}?88T$ZkRd~c3>h+H$dDmJ Vh71`pWaytve*^U9{<{EB001weUt0hG literal 0 HcmV?d00001 diff --git a/gravatar.tgz b/gravatar.tgz new file mode 100644 index 0000000000000000000000000000000000000000..38e942f897d238f7ff9d23874002b019aba309e9 GIT binary patch literal 2349 zcmV+|3DWi-iwFQHyo65x1ML}WZyUMMU#(v;rwCc;V6QAkwgV@28eD?HXwn?wYY&AH z2-GgMV!gXukX*^SApgBHe5@X^5~EGh0u}v1SaLY;C!HxaV}_~z-uGKaxX#W__Kr`6 zXUE6Gy`z)U1| z$?4$f)2BazrysboVE^~8U%q<#Ixf<0PlF76dOF-@|KR{_?(P3%I5L9C|lzN-25eHwT9ohNO?JC$@D{aYD{(B?@yHAWhxRDr}~d{ z9+%woD--bM^Y3l<1mp5Nm{6cSk)mKgjna1$78n3&J!aq!zXkwq^COLH#r9LAjRq#!0>rd)BDvKfa`8a&}8 z(y9?ZD;FT?c#RQclpD(pzhgy}bHt!zolW6g#mlQ#ajVrRi$sJk1)yLvk#Lw>jw&t*d4hV-M&ibO3PJ7!GEy*+AEGi9*P81Xt_)a7 zQ=TuJps418Lq(WCYTda^E090Cm?82lj6C-4a_q-JY8g3F4_h-PrR_hV` zBFl-$YQ+e;_2?12;uBWq23|U(SHySgYJ!RmbmmNZZ4*VLZ)I7!8;PGN&I|`F3nZ+0 zoytRnx|0QDyyQrYbZNmgjG33VK{aK18pA)(xh$@!l$xWJ&72I4`opgZ^~Q}pCs9VD zKzlSghtvyz;crB;WGk1Mw7_rQ5?HrbXv5Xw5Ov%`lY4M$Cku9kA%Z)yBxtt6cg9gF zqY$`a22qqt36|_TN@xHC5a}k0sBk9{8r)3LmXitk585q}xm09qmIPyM#s2$JW(&TF zYl0@IQBBrqG1zZ2MOM>W5xz&MB%ynHI2Hz&N?6JdwOQl{UWq%NTjm|H`;fG*IS)R% z5#l$44>7rycdPfP>@r(MU5>W&X+raSa!6|Ok>Vp5T|Q(0M9eA|g#^ax6mwTXLG+7r zmHAX8Q{gAnm`4Ui02k1XAvJZlM_P5>21I zMq!7Di;#(s@Yn7u8(8jMMvS6b&tXe_?UP6M1%)eBjlK)DKD5bNsZ46xZA{e!E6KEJ z%XaI(-SF(z+G_g$#^4w#-64B5?*u2nUH|_h*7Fx=?^gfkpIg}K{goB` zd>O#kbyZ1a=;RgGi4qls@Ht$C)*3s}WxuyfGv9+&wCa5hN(S>g0K}ejsiVnaPg#NveMaKjE3l?v&!*U7W$STg-0a<_2gh!=!wv}4>Y}q=La`8L+>BhU>@I613LOAN zk&(dr9alWRaKl$utDSxyn;>H^gpp&$@|x3tic=}|U`k=6bFDd-#o- zf*(BtBoolPKn%k$13yvuDI`#EJX*|+JW=K_eYw9Kf3d+u{ZNyS*oyR|i}O#>)kYZ{ zSmx*?o$*a%CxPfguV?kssZ~y-xAh+06C;Qn-Z+Z?Ss|bPW{g)~=nFbV)EcL6Y--}@ zv9eoEvS%bSbT>8l)5S^`XcZ9U*$h5|LxeoANzIZ zzV0H64-rbT+jCJOht>cW?WssnCvBi;xM+PPGE&lOi|u*+J$$*uNVKy#dX|Gx*h_8j}jUg6a5SnBSjhURBC z9a=;VV3j*t_*Wlg9G5=ynx_{Et;e0ijt*6*Elp(Kf zLm38ohtg$h{eZ0gnYq7ou`zf^n^akGxbKpMo3WuOadnkamWU&ao7eB&Sew1L+`Rz& zFRiB4Z+e7pPva}||IzW;+2;TMhDXEQ{Qo1?$B!V&1RFA*rz6*ukQ2DJren7+HZsJg zPk4!DZM^sCQ|mz(d{W!E`aBggNOGq2McWn2_T^d)_nV Date: Wed, 11 Apr 2012 06:17:53 -0700 Subject: [PATCH 8/9] require security.php in facebook connector --- facebook.tgz | Bin 17957 -> 17977 bytes facebook/facebook.php | 3 +++ piwik.tgz | Bin 3363 -> 3366 bytes 3 files changed, 3 insertions(+) diff --git a/facebook.tgz b/facebook.tgz index 563d39cc8f4965b8f54a60abcc1f2d9504958979..2b643e70c057f8053eb7e0dcb4798211e7ac3a6f 100644 GIT binary patch delta 17675 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

o(XFb$@V?h;G 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'; $o .= '

' . t('Facebook API Key') . '

'; diff --git a/piwik.tgz b/piwik.tgz index 230c1f50d7798a3ead7a3d67bfc9936a7508b482..a1fc2ecd22ca28e2fbd9e0bcaaee44c4ab9e3e37 100755 GIT binary patch literal 3366 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 literal 3363 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 From 27134d4b5751d1d0b5c3a11737d9abdd763e622a Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 12 Apr 2012 21:19:09 -0700 Subject: [PATCH 9/9] package update --- irc.tgz | Bin 1117 -> 1697 bytes planets.tgz | Bin 2346 -> 2090 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/irc.tgz b/irc.tgz index cb86460599f429d1304f82ec46525225d70f591f..a07e38ee95da2f3cdafbd0180ba32b798bb023da 100644 GIT binary patch literal 1697 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