From e2f2f458cfed6fc2aaee8564d57021802938f943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Wed, 16 May 2012 20:16:07 +0000 Subject: [PATCH 1/3] Prevent notices --- privacy_image_cache/privacy_image_cache.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/privacy_image_cache/privacy_image_cache.php b/privacy_image_cache/privacy_image_cache.php index 45aeb080..c7943954 100644 --- a/privacy_image_cache/privacy_image_cache.php +++ b/privacy_image_cache/privacy_image_cache.php @@ -112,7 +112,7 @@ function privacy_image_cache_ping_xmlize_hook(&$a, &$o) { * @param App $a * @param null|object $b */ -function privacy_image_cache_cron(&$a, &$b) { +function privacy_image_cache_cron(&$a = null, &$b = null) { $cachetime = get_config('privacy_image_cache','cache_time'); if (!$cachetime) $cachetime = PRIVACY_IMAGE_CACHE_DEFAULT_TIME; @@ -161,7 +161,7 @@ function privacy_image_cache_plugin_admin(&$a, &$o){ * @param App $a * @param null|object $o */ -function privacy_image_cache_plugin_admin_post(&$a, &$o){ +function privacy_image_cache_plugin_admin_post(&$a = null, &$o = null){ check_form_security_token_redirectOnErr('/admin/plugins/privacy_image_cache', 'picsave'); if (isset($_REQUEST['save'])) { From 2031a7240cae35dbfbc3e1aa749ae9157250b033 Mon Sep 17 00:00:00 2001 From: Keith Fernie Date: Fri, 18 May 2012 09:12:02 +0100 Subject: [PATCH 2/3] new file: public_server.tgz add public_server plugin new file: public_server/README.md add public_server plugin new file: public_server/public_server.php add public_server plugin modified: testdrive.tgz puts content in notification emails modified: testdrive/testdrive.php puts content in notification emails --- public_server.tgz | Bin 0 -> 2158 bytes public_server/README.md | 29 +++++++ public_server/public_server.php | 140 ++++++++++++++++++++++++++++++++ testdrive.tgz | Bin 1879 -> 1882 bytes testdrive/testdrive.php | 3 + 5 files changed, 172 insertions(+) create mode 100755 public_server.tgz create mode 100644 public_server/README.md create mode 100644 public_server/public_server.php mode change 100644 => 100755 testdrive.tgz diff --git a/public_server.tgz b/public_server.tgz new file mode 100755 index 0000000000000000000000000000000000000000..c9a67fe35ef2c182f781b00ff0ee0d637f0314cc GIT binary patch literal 2158 zcmV-!2$A<6iwFQT0=7>81ML}UbK5r7U(H|fR->3wD(mo-t`obX#&+x3I?cpNIvK~K zLL?-iCJB}V?PzxV-}gO$q)1)16SuqF8l#Z}@ZsGTz%Utj!s*96y5>=9?GG7k94~fv z^)HUuU;V$+L5Q7pr`_IOYj?JGIy-By`^T_T9!acN1h5uKsaC<=_53e7!jk<a zV-d~|Jc>2GPP0w(ZlcCA+J}E}LUh8TKyY|9Rw~?YwT6b~6>Iu@rzun`jO0*wymdv; zhq%9G(a7kRMd*tFjqG`~I{e$R)+0U=vBKrClvg!7pEAdhNucZo*jl949kD@xWjb@H z>M!TWIgt#$f`s0VXdxXl*m)q87*6cQm*US5Ea2ReqY-yenP0&^;t-nu+vV0ug0j7m z;7_*L9KlDn*&O~ywb~r^$F|!Nv(2iqR%MOqz?iU_2p0~ZI(SJFmrY`vjkxMNG8l?c ztxOH|z(0o~;smH=(p&nWjMe=%YDm3P3~T=Yy}fR&qerVG3N#ZDBKo~ndH?pP+dGB? z5ny&wkTTylc;Y^ac>wma7*%4HaQe)Jn=!|~Mk<_o!WRlUl?Kvq2be8uE>m0ypA)0V znX1|Ed#{l{^Bu?=_{N5&;S7ImFtXMOg9y|$^J)d5OUp{(HbBvT zPmp~S$l*0x1df-uyp=kRHo8`Hs+O30+)*s|PyH{dYsuHK1aan!aRFEi)hIH{>qX2p7Da4QqvdrQHEhGdA%R}#$z{VlP?M1B zCvSf4ot}K`pMN~>9iOES;|aRI-_K!YV^oV{r@$TyMhP1sB#n$#zM2!1{QzsSfts>} zDD`pyjQdP@Wo%|CgNbDlIXpv$FzAzA*B1dsZN!v}?0Ol}6Ty{%tg_8R3c3M{c@kk> zE(3;RsieISkX*YZd=x2eg;?=ru=#Df`CB+LdZ=rQt*@iUB_V~(G!R!=AH#7~1TKxi zddhefNx6CJni=%}^;-)+4~_$3qO;7)=i_7Z>*Ax5Cbk(jUmW4DWuTa&@(5oL4J15? zhAG^a*Sx3~G7qYx8c1CM?nu5VRF-(NU533Gm6GM|R%%$*n7qLa#sXoeG2tx+5hU$V|dv`!lDfm(ryjg2{^e*u@ur8flasfXDm56dNc1P8lkt6Ff1S-n2gXI2~x(jK$6 zfz2pvn0AzQk##@UsslP~u!#BSJ=(;Bi)?;*VLGl$I5;S`T!8cumbOo!5mB)RTY#@36_UwC4b;?15EUb3vn2sQinBazdmCBl(`e2 z-k!y9BRnrNAJ$t2Lw=*`K03V7D}RE-;-f=|JmBwP4oRv3@RF{m*MU?{G+kqU4p_-q1K zoQE(eq8UsmIx##)S`!NQvzV|u95@&7$eX{kW!@NGRTr(%wTkF4l|M_Wz^%&7Ln^F%$@NZQd_{93mwSgvpJl>=?EiaP%{^6wrO$JN-bJwA+K;kH>J{Jv#;X13JD`kB1m#IKLkEgBG3s}qwb%AQ|cKanVaE>XT$hdsS5>M$QtKYSlRynWbK*|3; z_)Y&lCGbw)1%Ns7-HatNkJEq(FPIx;U6qG;-iGXUfS6cKE4v|BLC2#aKcygv;PmjR z(*HPuQf5IU9I}NH`LSh^&m$ zNXG_mm}QeDPa5E0Z#d$qgp62@$@80*Mm8Hb$hA55=rfLqI^7PTRWTbN3syG(eF+LT zEDA^ux+6tN^i3i)z1ZzV^0UBv#l6Y2FGUzSZE2hZy3%oy2%FZE9L{4D00dS@1?C>j k1xHd=B+RHt>=>WAou~0Mp2pL78vi5XKRSO`vH&Om05@GA1poj5 literal 0 HcmV?d00001 diff --git a/public_server/README.md b/public_server/README.md new file mode 100644 index 00000000..44b29f8e --- /dev/null +++ b/public_server/README.md @@ -0,0 +1,29 @@ +Public Server +============= + + +Public Server is a Friendica plugin which implements automatic account & post expiration so that a site may be used as a public +test bed with reduced data retention. + +This is a modified version of the testdrive plugin, DO NOT ACTIVATE AT THE SAME TIME AS THE TESTDRIVE PLUGIN. + +//When an account is created on the site, it is given a hard expiration date of +$a->config['public_server']['expiredays'] = 30; +//Set the default days for posts to expire here +$a->config['public_server']['expireposts'] = 30; +//Remove users who have never logged in after nologin days +$a->config['public_server']['nologin'] = 30; +//Remove users who last logged in over flagusers days ago +$a->config['public_server']['flagusers'] = 146; +//For users who last logged in over flagposts days ago set post expiry days to flagpostsexpire +$a->config['public_server']['flagposts'] = 90; +$a->config['public_server']['flagpostsexpire'] = 146; + +Set these in your .htconfig.php file. By default nothing is defined in case the plugin is activated accidentally. +They can be ommitted or set to 0 to disable each option. +The default values are those used by friendica.eu, change these as desired. + +The expiration date is updated when the user logs in. + +An email warning will be sent out approximately five days before the expiration occurs. Five days later the account is removed completely. + diff --git a/public_server/public_server.php b/public_server/public_server.php new file mode 100644 index 00000000..9d469829 --- /dev/null +++ b/public_server/public_server.php @@ -0,0 +1,140 @@ + + */ + + + + +function public_server_install() { + + register_hook('register_account', 'addon/public_server/public_server.php', 'public_server_register_account'); + register_hook('cron', 'addon/public_server/public_server.php', 'public_server_cron'); + register_hook('enotify','addon/public_server/public_server.php', 'public_server_enotify'); + register_hook('logged_in', 'addon/public_server/public_server.php', 'public_server_login'); +} + + +function public_server_uninstall() { + + unregister_hook('register_account', 'addon/public_server/public_server.php', 'public_server_register_account'); + unregister_hook('cron', 'addon/public_server/public_server.php', 'public_server_cron'); + unregister_hook('enotify','addon/public_server/public_server.php', 'public_server_enotify'); + unregister_hook('logged_in', 'addon/public_server/public_server.php', 'public_server_login'); +} + +function public_server_register_account($a,$b) { + + $uid = $b; + + $days = get_config('public_server','expiredays'); + $days_posts = get_config('public_server','expireposts'); + if(! $days) + return; + + $r = q("UPDATE user set account_expires_on = '%s', expire = %d where uid = %d limit 1", + dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), + intval($days_posts), + intval($uid) + ); + +}; + + +function public_server_cron($a,$b) { + require_once('include/enotify.php'); + $r = q("select * from user where account_expires_on < UTC_TIMESTAMP() + INTERVAL 5 DAY and account_expires_on > '0000-00-00 00:00:00' 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' => 'public_server_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 and account_expires_on > '0000-00-00 00:00:00'"); + if(count($r)) { + require_once('include/Contact.php'); + foreach($r as $rr) + user_remove($rr['uid']); + + } + $nologin = get_config('public_server','nologin'); + if($nologin) { + $r = q("select uid from user where account_expired = 0 and login_date = '0000-00-00 00:00:00' and register_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00'",intval($nologin)); + if(count($r)) { + foreach($r as $rr) + q("update user set account_expires_on = '%s' where uid = %d limit 1", + dbesc(datetime_convert('UTC','UTC','now +' . '6 days')), + intval($rr['uid']) + ); + } + } + + + $flagusers = get_config('public_server','flagusers'); + if($flagusers) { + $r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and `page-flags` = 0",intval($flagusers)); + if(count($r)) { + foreach($r as $rr) + q("update user set account_expires_on = '%s' where uid = %d limit 1", + dbesc(datetime_convert('UTC','UTC','now +' . '6 days')), + intval($rr['uid']) + ); + } + } + + $flagposts = get_config('public_server','flagposts'); + $flagpostsexpire = get_config('public_server','flagpostsexpire'); + if ($flagposts && $flagpostsexpire) { + $r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and expire = 0 and 'page-flags' = 0",intval(flagposts)); + if(count($r)) { + foreach($r as $rr) + q("update user set expire = %d where uid = %d limit 1", + intval($flagpostsexpire), + intval($rr['uid']) + ); + } + } + + +} + +function public_server_enotify(&$a, &$b) { + if (x($b, 'params') && $b['params']['type'] == NOTIFY_SYSTEM + && x($b['params'], 'system_type') && $b['params']['system_type'] === 'public_server_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 account is about to expire.'); + $b['body'] = sprintf( t("Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"), $b['params']['to_name'], "[url=" . $app->config["system"]["url"] . "]" . $app->config["sitename"] . "[/url]"); + } +} + +function public_server_login($a,$b) { + $days = get_config('public_server','expiredays'); + if(! $days) + return; + $r = q("UPDATE user set account_expires_on = '%s' where uid = %d and account_expires_on > '0000-00-00 00:00:00' limit 1", + dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')), + local_user() + ); +} diff --git a/testdrive.tgz b/testdrive.tgz old mode 100644 new mode 100755 index 7d314ea28fedfdfdd21653a06b8e1cd1e00457bd..3369481c589e4399200e2afd0e3ae89dd24dd4f4 GIT binary patch literal 1882 zcmV-g2c`HQiwFQ({k2a31MOJ*Z`(!^&adWQF%_IhN^L#jM-EP$LaiM%K%Eq|+9Gfa zVMVT_O-L@gT-p&1`QPuGT~eZCCAr|z7I&wCVTs(?dF?#Dm6f@TjJlECdw&}BK#z}( z+$U)L(|zyv!Ex~T==cD9{r++9_#Peoc_uBX$gMC$_l(x|Q+%IW|1TxGIRC}BPBzQF zst!Kj69kgP-vvEDxH#WV#vvLRry-)G7Q*3@Cmze$rjt^H1qp9h7VX>&ps>Ybzu5l)r4Q7Jv0 zS(}}7yGiw?6Y8X!89h<4>?UA-hTYwOX;P#i%U`-UQYjK3j$3W|XAtZdIaRrpW;E0K zU8}ixEKO|gQPcU_{Yc#~!&3I0?d>ObRD?#SUntgX*&s@$+N#OCx%VZ)s!fm=eApbK zB3%tqk^Ti?x})Sj3Dg~7Un5i-BDL;GYgg>;j(ya23l-5R?T(-DLnP)oo~F`{LY+?3 zw6#S?V|TAT}DK)LW6T(yBzVSvS(yR`b{453tDpPxUQ*+oX;+ z2A@sxMz&dkO6`q^TkI+9bYX(=8zaR>vy2X0`lEoQFf^2{rb@%Oh-9}6xI2k<-QQfs zGPLLk6QdLFws&lU<4*~ukA^QU&M$|9i=UCh-_nbh!}DK$8~j8^bT)WRB8_0Z-!pPL z(W=q=vHzXH%ZFX**wb&z%sfmM})l zTl{*biFh^X^ck~WxrggLzhLK?bSp1k4PQKeJ-U2-IXu587xOt%Eg3C%>Y3_XX_kz! zNT-FEf{Urrvv|8urbj9Izvo(-gW$T?H8zdW0&UQ}}7Yd;xBqHUaUix|~#}1D&aGkT2a6nGcpr9hx zp%O6xOC}KIn*yvEp!%U!Pbe$KF~BPe$X%dr&;bR`lZ2%blSayPCY3seOPO7z6OF25 zqgivJo%i^fI4v9=bR~zPi_9CQZ__%6mIgfr;9DZs@WhU{bxSGt{OhU8rN41tT(Q)-nibtRc4=OxaxxUx>2Ui2cW0F z^UkxSB`tyPFXw}^i}OwreRUn5x&QZ%50=0G93CFv{(sOrezd*+{}nXE`JcJF{%J+H z1P-gLaEt8V?ctInt$>#k5)Xi?x9L7P% zntvAJ10M@qK0;?Zt_^UBBhaDY(kfoc3M1qB%CAa+@ZejPb%7 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&2 Date: Fri, 18 May 2012 19:04:58 -0700 Subject: [PATCH 3/3] make facebook contacts honour the default group selection --- facebook.tgz | Bin 18915 -> 18964 bytes facebook/facebook.php | 8 ++++++++ 2 files changed, 8 insertions(+) diff --git a/facebook.tgz b/facebook.tgz index ca4a858c7fb022159cddbd77edff2588e7ce006c..edddbb64a6faaf36f21af834556734eea2c82bcf 100644 GIT binary patch literal 18964 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 C=Xe