Zach Copley
89dc6dee01
Add PoCo namespace to optional ns output in Notice::asAtomEntry()
2010-02-22 17:56:43 -08:00
Zach Copley
cbf6ebae01
Merge branch 'rationalize-activity' into testing
...
* rationalize-activity:
Move ActivityObject and related stuff to core
Add PoCo bits, avatar link, geo point, etc. to person activity obj output
2010-02-22 17:12:33 -08:00
Zach Copley
6a711c6cdc
Move ActivityObject and related stuff to core
2010-02-22 17:10:50 -08:00
Brion Vibber
d410df0406
OStatus group delivery initial implementation.
...
- added rel="ostatus:attention" links for group delivery
- added events for plugins to override group profile/permalink pages
- pulled Notice::saveGroups up to save-time so we can override;
it's relatively cheap and gives us a clean list of target
groups for distrib time even with customized delivery.
- fixed notice::getGroups to return group objects as expected
- added some doc on new parameters to Notice::saveNew
- 'groups' list of group IDs to push to in place of parsing
- messages that come in via PuSH and contain local group targets
are delivered to local group members
- messages that come in via PuSH and contain remote group targets
are delivered to local members of the remote group
Todo:
- handle group posts that only come through Salmon
- handle conflicts in case something comes in both through Salmon and PuSH
- better source verification
- need a cleaner interface to look up groups by URI
- need a way to handle remote groups with conflicting names
2010-02-23 00:44:45 +00:00
Evan Prodromou
891e002883
don't calculate replies for remote notices
2010-02-21 23:56:48 -05:00
Evan Prodromou
ab3db8c899
Combine code that finds mentions into one place and add hook points
...
Combined the code that finds mentions of other profiles into one place.
common_find_mentions() finds mentions and calls hooks to allow
supplemental syntax for mentions (like OStatus).
common_linkify_mentions() links mentions.
common_linkify_mention() links a mention.
Notice::saveReplies() now uses common_find_mentions() instead of
trying to parse everything again.
2010-02-21 16:20:30 -05:00
Evan Prodromou
e9d22138ef
permalink on a note represented by rel=alternate
2010-02-21 09:23:51 -05:00
Evan Prodromou
9498a16480
Notice::saveNew() accepts url and rendered options
2010-02-21 09:17:00 -05:00
Brion Vibber
9c2fe8492f
OStatus: send favorite/unfavorite notifications to remote authors
2010-02-20 15:56:36 -08:00
Evan Prodromou
3d665f82d1
add type='text/html' to alternate link in Notice Atom
2010-02-18 22:13:47 -05:00
Evan Prodromou
c2ba764535
always distribute to inbox of author immediately
2010-02-18 07:11:20 -05:00
Zach Copley
198c046c89
- Set the root of a new local conversation to a new conversation.id
...
- Output conversation URIs from conversation.uri
2010-02-17 01:12:13 -08:00
Zach Copley
c892726c80
Take remote profiles into account when looking up canonical profile URIs
2010-02-16 16:22:58 -08:00
Brion Vibber
d6f1df8b76
fix for Atom notice output: correct check against conversation & current id
2010-02-12 15:30:23 -08:00
Zach Copley
525358fa10
Fix retarded spelling mistake
2010-02-11 17:08:50 -08:00
Zach Copley
3beddffc39
ostatus:attention links in Notice Atom output
2010-02-11 16:29:27 -08:00
Zach Copley
e2c0f59414
Some upgrades to Atom output for OStatus
2010-02-11 13:56:05 -08:00
Brion Vibber
8449256817
OStatus partial support for group subscriptions:
...
* detection of group feeds is currently a nasty hack based on presence of '/groups/' in URL -- should use some property on the feed?
* listing for the remote group is kinda cruddy; needs to be named more cleanly
* still need to establish per-author profiles (easier once we have the updated Atom code in)
* group delivery probably not right yet
* saving of group messages still triggering some weird behavior
Added support for since_id and max_id on group timeline feeds as a free extra. Enjoy!
2010-02-09 18:32:52 -08:00
Brion Vibber
384387c9b0
OStatus cleanup...
...
* Treat linkless feed posts as status updates; drop the "New post:" prefix and quotes on them.
* Use stable user IDs for atom/rss2 feed links instead of unstable nicknames
* Pull Atom feed preferentially when subscribing -- can now put the remote user's profile page straight into the feed subscription form and get to the right place.
* Clean up naming for push endpoints
2010-02-08 14:58:12 -08:00
Evan Prodromou
dbeb388ade
clear cache for Profile::hasRepeated() at Notice::insert() time
2010-02-03 12:31:25 -05:00
Evan Prodromou
fec8066bf7
error clearing tags for profiles from memcached
2010-01-30 14:37:39 -05:00
Evan Prodromou
d13d73c563
Last-chance distribution if enqueueing fails
2010-01-28 16:53:37 -08:00
Brion Vibber
fbd52111e1
fix notice -- drop unused return value of variable that isn't initialized :) thx @ g0 for the catch
2010-01-27 19:58:33 -08:00
Brion Vibber
3abfb454a3
Adds an emergency switch so we can run inbox distribution at save time (bypassing 'distrib' queue)
...
Set $config['queue']['inboxes'] = false to do so
2010-01-27 18:39:17 -08:00
Evan Prodromou
e26a843caf
Offload inbox updates to a queue handler to speed up posting online
...
Moved much of the writing that happens when posting a notice to a new
queuehandler, distribqueuehandler. This updates tags, groups, replies
and inboxes at queue time (or at Web time, if queues are disabled).
To make this work well, I had to break up the monolithic
Notice::blowCaches() and make cache blowing happen closer to where
data is updated.
Squashed commit of the following:
commit 5257626c62750ac4ac1db0ce2b71410c5711cfa3
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 14:56:41 2010 -0500
slightly better handling of blowing tag memory cache
commit 8a22a3cdf6ec28685da129a0313e7b2a0837c9ef
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 01:42:56 2010 -0500
change 'distribute' to 'distrib' so not too long for dbqueue
commit 7a063315b0f7fad27cb6fbd2bdd74e253af83e4f
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 01:39:15 2010 -0500
change handle_notice() to handle() in distributqueuehandler
commit 1a39ccd28b9994137d7bfd21bb4f230546938e77
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 16:05:25 2010 -0500
error with queuemanager
commit e6b3bb93f305cfd2de71a6340b8aa6fb890049b7
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 01:11:34 2010 -0500
Blow memcache at different point rather than one big function for Notice class
commit 94d557cdc016187d1d0647ae1794cd94d6fb8ac8
Author: Evan Prodromou <evan@status.net>
Date: Mon Jan 25 00:48:44 2010 -0500
Blow memcache at different point rather than one big function for Notice class
commit 1c781dd08c88a35dafc5c01230b4872fd6b95182
Author: Evan Prodromou <evan@status.net>
Date: Wed Jan 20 08:54:18 2010 -0500
move broadcasting and distributing to new queuehandler
commit da3e46d26b84e4f028f34a13fd2ee373e4c1b954
Author: Evan Prodromou <evan@status.net>
Date: Wed Jan 20 08:53:12 2010 -0500
Move distribution of notices to new distribute queue handler
2010-01-25 18:08:21 -05:00
Brion Vibber
d35faa04c1
Fix for background recalculation of groups; needs to get Group objects not IDs; also don't list any groups for repeats to match saveGroups behavior
...
todo: merge calculation portion with saveGroups so they don't get out of sync
2010-01-15 13:06:21 -08:00
Evan Prodromou
d032fc038a
make sure whoGets() doesn't write anything
2010-01-13 12:37:01 -08:00
Evan Prodromou
43ff542189
Don't save reply info for repeats
2010-01-13 01:13:06 -08:00
Evan Prodromou
8bfa7fdeaf
repeats don't get posted to groups
2010-01-13 00:47:12 -08:00
Evan Prodromou
5397249e50
remove vestiges of Notice_inbox from cache clearing code in Notice
2010-01-13 00:45:12 -08:00
Evan Prodromou
3d579fc580
memoize Notice::whoGets()
2010-01-13 00:16:54 -08:00
Evan Prodromou
fb0d837ddc
remove transaction for Notice save; causes deadlocks
2010-01-12 23:41:33 -08:00
Evan Prodromou
96e51dad4b
whoGets() method for Notice
2010-01-09 13:55:54 -08:00
Evan Prodromou
f2a403589c
Use inbox instead of notice_inbox
2010-01-09 10:02:07 -08:00
Ciaran Gultnieks
deeaafe712
Fixes to bugs where non-local messages were being wrong put in the public timeline and public xmpp feed
2010-01-07 20:59:31 +00:00
Brion Vibber
8af7ba0226
Fix for overlong RT trimming: don't trim if textlimit is 0 (unlimited)
2010-01-05 16:16:25 -08:00
Brion Vibber
9215496902
Ticket 2135: trim overlong repeats with ellipsis rather than failing.
...
In web interface and retweet/repeat API we show the original untrimmed text, but some back-compat API messages will still show the trimmed 'RT' version.
This matches Twitter's behavior on overlong retweets, though we're outputting the RT version in more API results than they do.
2010-01-05 16:10:00 -08:00
Evan Prodromou
06b6a27d7d
cached id streams can be empty, compare against false
2010-01-04 10:03:57 -10:00
Evan Prodromou
90a2563a90
Merge branch 'master' into 0.9.x
...
Conflicts:
classes/Memcached_DataObject.php
2010-01-02 19:47:34 -10:00
Evan Prodromou
52fbd10162
incorrectly used empty() instead of isset() for a variable that could be 0
2010-01-02 08:36:47 -10:00
Evan Prodromou
05e2b4d92d
Merge branch 'master' into 0.9.x
2009-12-29 12:09:17 -08:00
Evan Prodromou
45c4078ca9
notices are immutable, use created date for updated
2009-12-28 17:51:04 -08:00
Evan Prodromou
ca6669538a
Move location-argument-handling code into a single function
...
Moved the important parts of the location-argument-handling stuff
to a single function. Handles defaults and overrides correctly, and
easy to use. Changed Web and API channels to use it.
2009-12-28 15:13:15 -08:00
Brion Vibber
0ca80f78fb
Add doc comments listing the array parameters for User::register() and Notice::saveNew()
2009-12-16 09:27:48 -05:00
Brion Vibber
00fb5feff8
Cleanup undefined variable notice: set a couple more null defaults for new params in Notice::saveNew().
...
Fixes this notice seen while using AJAX repeat button:
Notice: Undefined variable: uri in classes/Notice.php on line 243
2009-12-16 09:27:48 -05:00
Brion Vibber
e2e1843639
slight cleanup for a bit in Notice.php where a var was reused for different types, confusing tracking down a bug
2009-12-16 09:27:47 -05:00
Evan Prodromou
2a8eee0e0b
add friends_timeline with no repeats in it
2009-12-14 16:41:25 -05:00
Evan Prodromou
438a0d7f1c
remove obsoleted getStream, getStreamDirect, getCachedStream from Notice; use stream() instead
2009-12-12 16:58:39 -05:00
Evan Prodromou
1ec54d3433
add statuses/retweeted_to_me to API
2009-12-12 16:15:23 -05:00
Evan Prodromou
698b28c95c
clear repeat_of flag when a notice is deleted
2009-12-12 16:02:44 -05:00
Evan Prodromou
cfe67a9c01
add statuses/retweets_of_me to API
2009-12-12 16:00:27 -05:00
Evan Prodromou
138ce0cd05
add statuses/retweeted_by_me api action
2009-12-12 15:35:05 -05:00
Evan Prodromou
c622d14440
add statuses/retweets to API
2009-12-12 14:46:24 -05:00
Evan Prodromou
afc86a86d3
save repeats from the form
2009-12-11 11:51:09 -05:00
Evan Prodromou
60754fc6de
Merge branch '0.9.x' into forward
2009-12-11 11:38:08 -05:00
Evan Prodromou
79f81ad76d
change Notice::saveNew() to use named arguments for little-used options
2009-12-11 11:29:51 -05:00
Evan Prodromou
da30890988
add repeat_of column to notice class
2009-12-11 10:22:56 -05:00
Evan Prodromou
45408142e9
reorder notices when not using memcached
2009-12-08 21:02:54 -05:00
Evan Prodromou
72c82a2e29
Basic function to store forwards and redistribute
2009-12-08 16:30:33 -05:00
Brion Vibber
2b8a3e3511
Fix regression in group posting: bug introduced in commit 1319002e15
. Need to use actual profile object rather than an id on a variable that doesn't exist when checking blocks :D
2009-11-27 14:52:58 -08:00
Brion Vibber
e85e47b509
Log database errors when saving notice_inbox entries
2009-11-27 14:20:57 -08:00
Zach Copley
638df94f88
Need to check the Profile rather than the User.
2009-11-17 08:48:16 -08:00
Evan Prodromou
f1efb845e4
don't allow sandboxed users to post public notices
2009-11-16 19:22:22 +01:00
Evan Prodromou
d2145a5b7f
Move rights check to profile and add right for new notices
...
Added a right for new notices, realized that the hasRight() method
should be on the profile, and moved it.
Makes this a less atomic commit but that's the way it goes sometimes.
2009-11-16 19:03:59 +01:00
Evan Prodromou
cb64cfb44c
add geo output to statuses in json, xml, atom, rss in API
2009-11-10 16:15:05 -05:00
Brion Vibber
088081675f
Revert "Remove more contractions"
...
This reverts commit 5ab709b739
.
Missed this one yesterday...
2009-11-09 20:01:46 +01:00
Siebrand Mazeland
b10f362ede
Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x
2009-11-08 23:33:58 +01:00
Siebrand Mazeland
5ab709b739
Remove more contractions
...
* doesn't
* won't
* isn't
* don't
2009-11-08 23:32:15 +01:00
Brion Vibber
fc5002015b
Revert "* [Cc]an't -> [Cc]annot"
...
This reverts commit 0ab17f382b
.
2009-11-08 23:28:51 +01:00
Siebrand Mazeland
0ab17f382b
* [Cc]an't -> [Cc]annot
...
* [Cc]ould't -> [Cc]ould not
2009-11-08 23:22:38 +01:00
Evan Prodromou
1319002e15
don't distribute group notices to inboxes for users who've blocked the author
2009-11-07 12:22:00 -05:00
Craig Andrews
005f85b5ea
Removed reference to 'api' action which no longer exists since api refactor
2009-10-30 01:25:52 -04:00
Evan Prodromou
e9644f03de
get location from a Notice
2009-10-29 14:43:18 -04:00
Evan Prodromou
b73d6d18ba
Merge branch '0.9.x' into location
2009-10-28 17:24:53 -04:00
Evan Prodromou
2df1189465
save replies in the inbox
2009-10-28 15:33:10 -04:00
Evan Prodromou
7df082abb8
replace some boolean-evaluations with calls to empty()
2009-10-28 14:21:42 -04:00
Evan Prodromou
967de94665
update location while saving new profile
2009-10-23 11:47:00 -04:00
Evan Prodromou
2ed073f295
new data structures for location
2009-10-21 22:43:40 -04:00
Evan Prodromou
4f5badda94
remove inboxes option
2009-10-13 17:38:27 -04:00
Evan Prodromou
18f4a7eaea
reformat Notice.php
2009-10-03 20:34:40 -04:00
Brenda Wallace
bcdf31c639
added all them doxygens
2009-10-04 11:14:26 +13:00
Evan Prodromou
0a57d1ccee
change string return from Notice::saveNew to exceptions
2009-09-29 17:16:07 -04:00
Evan Prodromou
93b7e60115
Merge branch '0.8.x' into 0.9.x
...
Conflicts:
EVENTS.txt
2009-09-24 17:24:15 -04:00
Craig Andrews
a535ccdc4e
Merge remote branch 'laconica/0.8.x' into 0.9.x
...
Conflicts:
lib/common.php
lib/twitter.php
2009-09-02 16:42:15 -04:00
Evan Prodromou
55972f59f6
remove Notice::gc() for now
2009-08-29 11:59:54 -07:00
Brenda Wallace
06514aa001
fix for SQL error: ERROR: syntax error at or near ")" at character 45
...
http://laconi.ca/trac/ticket/1735
2009-08-28 20:05:19 +12:00
Brenda Wallace
e277c856d6
fix for SQL error: ERROR: syntax error at or near ")" at character 45
...
http://laconi.ca/trac/ticket/1735
2009-08-28 20:00:55 +12:00
Evan Prodromou
34ce75c71d
remove duplicate save of Notice and streamline attachment detection
2009-08-27 20:09:07 -07:00
Evan Prodromou
a08c76a434
Merge branch '0.9.x' of git@gitorious.org:laconica/mainline into 0.9.x
...
Conflicts:
classes/laconica.ini
2009-08-27 14:52:32 -07:00
Evan Prodromou
5d09b6b3f0
Merge branch '0.8.x' into 0.9.x
...
Conflicts:
EVENTS.txt
actions/finishremotesubscribe.php
actions/postnotice.php
actions/public.php
actions/remotesubscribe.php
actions/showstream.php
actions/updateprofile.php
actions/userauthorization.php
classes/laconica.ini
lib/common.php
lib/oauthstore.php
lib/omb.php
2009-08-27 11:16:45 -07:00
Craig Andrews
6d60d74093
Display linked oembed resources as enclosures if they are of non-html mime types
2009-08-26 15:40:51 -04:00
Evan Prodromou
df86aa7214
define LACONICA and accept LACONICA for backwards compatibility
2009-08-26 10:41:36 -04:00
Evan Prodromou
865b716f09
change LACONICA to STATUSNET
2009-08-25 18:42:34 -04:00
Evan Prodromou
4737563b95
a distributed -> the distributed
2009-08-25 18:14:12 -04:00
Evan Prodromou
c8b8f07af1
change Laconica and Control Yourself to StatusNet in PHP files
2009-08-25 18:12:20 -04:00
Evan Prodromou
b2664e1ae2
Merge branch '0.8.x' into 0.9.x
...
Conflicts:
actions/updateprofile.php
actions/userauthorization.php
classes/User_group.php
index.php
install.php
lib/accountsettingsaction.php
lib/logingroupnav.php
2009-08-21 15:42:11 -04:00
Evan Prodromou
d5825893c8
validation code in Notice correctly checks length of content
2009-08-21 08:12:57 -04:00
Evan Prodromou
4d05afae30
Notice class has methods to check content length
2009-08-21 08:05:13 -04:00
Evan Prodromou
d213a8cf90
update data classes for TEXT content in notice
2009-08-21 06:33:21 -04:00
Marcel van der Boom
418a5a95ab
Change the notice type defines all into class constants and adapt all files.
2009-08-20 13:11:22 -04:00
Evan Prodromou
a074cccb0e
save an archive of deleted notices
2009-08-04 06:05:04 -04:00
Evan Prodromou
18573632b4
New algorithm for reply_to saving
...
I changed the reply-to algorithm so that we only say a notice is in
reply to another notice if a) we receive that information from the Web
or API or b) it's in a "low bandwidth" (XMPP, SMS) channel, and begins
with "@nickname" or "T NICKNAME".
The goal is to avoid false-positives and make conversation trees more
accurate and useful.
2009-07-29 11:45:32 -04:00
Evan Prodromou
0dab5f5872
Merge branch '0.8.x' of git@gitorious.org:laconica/mainline into 0.8.x
2009-07-23 14:45:44 -07:00
Evan Prodromou
749d9bfbbf
Merge branch 'master' into 0.8.x
...
Conflicts:
scripts/twitterstatusfetcher.php
2009-07-23 14:45:21 -07:00
Evan Prodromou
5f7fb99447
change NOTICE_GATEWAY to Notice::GATEWAY so autoloading works
2009-07-23 14:22:22 -07:00
Brenda Wallace
d95f45f070
turn into canonical terms before checking for unique-ness of a tag in a notice
2009-07-20 14:18:48 +12:00
Brenda Wallace
711ade9835
look for full unicode when saving tags
2009-07-20 14:01:51 +12:00
CiaranG
1139f7cad5
Merge commit 'br3nda/0.8.x-pgfixes' into 0.8.x
2009-07-19 08:05:53 +01:00
Evan Prodromou
83cbf246a8
use a soft limit so there's not a whole bunch of deletes on every write
2009-07-16 00:26:51 -04:00
Evan Prodromou
da512ad8c2
gc inboxes on a regular basis
2009-07-16 00:19:34 -04:00
Brenda Wallace
788dd66dbe
add quotes around table named "user" when quote_identifiers is true
2009-07-15 20:23:52 +12:00
Brenda Wallace
403bb38bcd
used single quotes in SQL
2009-07-15 20:18:30 +12:00
Craig Andrews
593af9feb6
Moved the decision logic as to whether an attachment should be an enclosure to the File class
2009-07-14 13:33:40 -04:00
Toby Inkster
38784141d1
Copy isset($attachment->filename) fix from RSS 1.0 to RSS 2.0 and Atom 1.0 feeds.
2009-07-13 16:56:52 +01:00
Evan Prodromou
8b65883f9d
cache frequently-used subscriber, subscription, notice and fave count values
2009-07-09 17:28:38 -07:00
Craig Andrews
69574591d0
Notice attachments are enclosures in feeds (Atom, RSS 1.0/RDF, and RSS 2.0).
...
http://laconi.ca/trac/ticket/1690
2009-07-09 13:18:57 -04:00
Evan Prodromou
cb019f7aad
don't send unused variable for streams
2009-07-04 01:43:35 -04:00
Evan Prodromou
e2f8b8d65d
no limit on conversation stream
2009-07-03 10:40:23 -04:00
Evan Prodromou
4e6cd42757
conversation code changes
2009-06-30 11:50:16 -04:00
Evan Prodromou
addfcc976a
remove debugging code from Notice.php
2009-06-27 07:02:36 -07:00
Evan Prodromou
bb04f68e93
boxcar notice inbox requests
2009-06-26 00:47:27 -07:00
Evan Prodromou
994768b821
break up big inbox queries into lots of small ones
2009-06-25 23:00:46 -07:00
Evan Prodromou
c96572c090
fix caching for conversations, again
2009-06-25 11:23:47 -07:00
Evan Prodromou
4d56bc6a0a
streamline the file action
2009-06-25 11:08:32 -07:00
Evan Prodromou
3ca9e85ce4
update conversations to use newer query format
2009-06-25 09:43:30 -07:00
Evan Prodromou
262f864555
don't try to load a null notice into the list
2009-06-25 02:57:16 -07:00
Evan Prodromou
79547d99cf
blow cache when new notice in conversation is saved
2009-06-25 02:11:34 -07:00
Zach Copley
31325f0995
Stop Twitter gateway notices from leaking via user faves pages
2009-06-23 13:51:23 -07:00
Evan Prodromou
aec6456c91
Update copyright dates in files modified in 2009
2009-06-20 16:12:55 -07:00
Evan Prodromou
793a6a1155
change Controlez-Vous to Control Yourself
2009-06-20 16:00:04 -07:00
Evan Prodromou
3f54840b51
Only show twitter msgs in your own inbox
2009-06-18 11:45:48 -07:00
Evan Prodromou
420e8994f8
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into taggedprofile
2009-06-17 15:05:24 -07:00
Evan Prodromou
07f5797f2f
Make the personal tag streams actually work
2009-06-17 15:04:57 -07:00
Robin Millette
fd6de17a4a
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x
2009-06-17 16:22:47 -04:00
Robin Millette
1505e3a4c3
Fixed recent attachment bug that required URLs to be posted twice to be taken into account.
2009-06-17 16:21:50 -04:00
Evan Prodromou
8384e7c7f6
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x
2009-06-17 08:18:33 -07:00
Evan Prodromou
90b2b3f9d1
names for Notice is_local states
2009-06-16 21:37:04 -07:00
Robin Millette
befbfc9c73
Moved url handling to its proper place, from newnotice to Notice.php
2009-06-16 23:10:17 -04:00
Evan Prodromou
1b6b00a6d0
Link and distribute notices tagged for a group alias
...
Correctly link and distribute notices tagged for a group alias. Added
a helper function, getForNickname(), to User_group, to make it easier
to get a group by its nickname or aliases.
2009-06-14 23:43:47 -07:00
Evan Prodromou
e0bdaa787d
Merge branch '0.7.x' into 0.8.x
2009-06-14 11:27:22 -07:00
Evan Prodromou
ce6285d0fc
push length check to Notice class
2009-06-12 09:47:57 -07:00
Evan Prodromou
b4e649fe90
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x
2009-06-10 13:52:32 -07:00
Evan Prodromou
361a52a9c8
some changes based on code review with zach
2009-06-10 13:52:15 -07:00
Robin Millette
4699fa7936
Now correctly identifiying notices with uploaded content.
2009-06-10 15:24:25 -04:00
Robin Millette
ba6beaa310
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x
2009-06-10 14:18:41 -04:00
Robin Millette
e120cb1a53
Uploaded content now displays in overlay (and removed var_dump crap)
2009-06-10 14:17:46 -04:00
Evan Prodromou
ed627bb4bd
Merge branch '0.8.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.8.x
2009-06-09 21:48:56 -07:00
Robin Millette
27af3c67a2
Improve file upload and attachment interface.
2009-06-09 15:18:12 -04:00
Evan Prodromou
adfb79a9bb
Merge branch '0.7.x' into 0.8.x
...
Conflicts:
classes/Notice.php
classes/Profile.php
lib/common.php
lib/util.php
scripts/getvaliddaemons.php
scripts/stopdaemons.sh
2009-06-08 11:55:32 -07:00
Evan Prodromou
76ee1fd5da
Removing inbox and memcached daemon handling
2009-05-30 04:40:47 -04:00
Evan Prodromou
78968a31a7
check for since=0 in Notice::stream()
2009-05-30 00:49:14 -04:00
Zach Copley
425f9d703c
Ticket #1567 - Change max_id to return notices <= ID instead of < ID
2009-05-29 16:54:24 -07:00
Evan Prodromou
3532cd0490
Only enqueue inbox-dependent transports after inboxes have been filled
2009-05-28 18:19:22 -04:00
Robin Millette
0271859c24
Added personal tag page: http://example.com/MY_NICK/tag/A_TAG
2009-05-18 17:18:57 -04:00
Robin Millette
5897dfa4c3
Refactored new sections code to proper classes and added notice link to links in notice sections.
2009-05-17 22:06:08 -04:00
Robin Millette
fecb8c706d
Attachments and their list now provide "ajax" view. Also added a few sidebars relating tags and attachments.
2009-05-15 15:04:58 -04:00
Robin Millette
3b7ee5a5f9
rewrote short url stuff to handle new file/url classes (redirections, oembed, mimetypes, etc.)
2009-05-13 14:27:32 -04:00
Sarven Capadisli
aaeed091d2
Merge branch '0.7.x' into 0.8.x
2009-05-05 22:54:46 +00:00
Evan Prodromou
5314d9b2cf
make faves work with ids
2009-05-01 12:01:28 -07:00
Evan Prodromou
021b520a11
Make user group stream use IDs
2009-05-01 11:38:50 -07:00
Evan Prodromou
3328ec545c
make profile notice getting use ids
2009-05-01 11:27:57 -07:00
Sarven Capadisli
d30df07908
Merge branch '0.7.x' into 0.8.x
...
Resolved Conflicts:
lib/queuehandler.php
lib/util.php
theme/base/css/display.css
2009-05-01 00:16:25 +00:00
Evan Prodromou
aee641ee1e
make replies use new query format
2009-04-29 20:45:33 -04:00
Evan Prodromou
1e8ea1eb46
Make the tag stream use ID mechanism
2009-04-29 16:09:03 -04:00
Evan Prodromou
a4d959b8a2
Public stream uses IDs method
...
Public stream now uses IDs method
2009-04-29 12:05:31 -04:00
Evan Prodromou
10ef8a2f71
Move algorithm for caching to Notice class
...
Moved the algorithm for notice stream caching to the Notice class.
2009-04-29 11:27:45 -04:00
Evan Prodromou
fe53e780be
Remove some debug comments in query-by-id
2009-04-28 13:31:56 -04:00
Evan Prodromou
c7105c2af1
Change to avoid a join in notice inbox
...
The join in notice_inbox is causing temp-table sorting on identi.ca,
so I'm trying a finer-tuned approach.
2009-04-28 13:07:05 -04:00
Evan Prodromou
a9df5eab10
insert into user's inbox at Web time
2009-04-23 10:38:51 +00:00
Evan Prodromou
31b04220bd
incorrect config setting for queues
2009-04-23 09:34:56 +00:00
Evan Prodromou
aee45ea91d
Add an inbox queue handler
...
Handle distributing a notice to multiple inboxes in a queue handler
rather than in the Web action.
2009-04-23 05:08:48 -04:00
Evan Prodromou
640628de2d
A queuehandler for blowing caches offline
...
We add a queuehandler for blowing the memcached caches off-line. This
should speed up the processing of new notices.
2009-04-23 05:03:19 -04:00
Sarven Capadisli
dcee7f2f62
Merge branch '0.7.x' into 0.8.x
2009-04-08 22:58:21 +00:00
CiaranG
85873b1f2b
Merge branch 'master' of git://gitorious.org/laconica/br3nda into review/master
2009-04-08 22:11:58 +01:00
Evan Prodromou
8c073a34ce
Merge branch '0.7.x' into 0.8.x
2009-03-23 15:55:07 -04:00
Evan Prodromou
3ef4f251ac
One function for producing Atom entry for a Notice
...
Took the various places that we create an atom entry for a notice, and
jammed them together into one function of the notice class, and then
used that function. Also, added Atom threading extension and
categories for hashtags.
2009-03-22 16:58:38 -04:00
Evan Prodromou
b3a0eea3b6
Merge branch '0.7.x' into 0.8.x
...
Conflicts:
classes/Notice.php
lib/action.php
lib/router.php
lib/twitter.php
2009-03-12 11:56:23 -04:00
Brenda Wallace
ea5e7ed2ff
When deleting a notice, null the reply_to fields that point to notice
2009-03-12 15:21:55 +13:00
CiaranG
c08e4d904e
PostgreSQL - a few more query compatibility issues (submitted by oxygene)
2009-03-11 23:46:23 +00:00
CiaranG
b9194e7923
Correction to recently added dupe-checking feature - was using wrong config value
2009-03-11 09:12:39 +00:00
Adrian Lang
bea3fca189
Fix bug in dupe checking on notice post when there is no notice in cache.
2009-03-07 17:45:29 -08:00
Evan Prodromou
986a322231
Limit duplicate notices in a particular time period (default 60s)
...
We disallow posting a notice with duplicate content more than once a
minute.
Conflicts:
config.php.sample
2009-03-07 09:43:50 -08:00
Evan Prodromou
13c183e2f4
Merge branch '0.7.x' into 0.8.x
2009-03-06 16:17:58 -08:00
CiaranG
3fd877c4ce
Use single quotes for data literals on inserts to notice_index, so it works on pgsql as well as mysql
2009-03-03 21:32:47 +00:00
Evan Prodromou
baf5afb263
save conversation id when saving a notice
2009-02-26 13:45:43 -08:00
Evan Prodromou
d1f46d8552
add conversation to notice class
2009-02-26 13:37:00 -08:00
Evan Prodromou
419960fd19
wrong name for attn function
2009-02-16 18:45:59 -05:00
Evan Prodromou
175c4665cc
send mail when @-replies are received
2009-02-16 18:26:15 -05:00
Evan Prodromou
ca90d790aa
Automatically add a tag for every group messages
...
If you post to a group !foo, it's automatically listed as being tagged
"foo". This is to keep users from having to do !foo #foo in all their
messages.
2009-02-16 18:02:31 -05:00
Evan Prodromou
da2348fbbe
Optionally ignore some notice sources for public page
...
We optionally ignore some notice sources from the public page.
Typically these are automatic notice sources like twitterfeed that
don't usually represent the community on the site very well.
2009-02-14 21:55:25 -05:00
Evan Prodromou
4ad5d55ecf
Add events for filtering and logging new notices
2009-02-13 10:52:26 -05:00
Ciaran Gultnieks
53274a6d93
PostgreSQL - code changes to avoid problems where user table is referenced in ad-hoc queries
2009-01-30 01:12:58 +00:00
Adrian Lang
a80a536e41
Fix canonical tags in notice and in URLs
2009-01-26 15:03:38 +01:00
Evan Prodromou
0d34cd24ab
Update notice deletion
...
Changed the errors in notice deletion so it now works. Also,
consistently delete records from related tables that refer
to the notice.
2009-01-24 19:38:40 +01:00
Evan Prodromou
a7c85bebd5
Merge branch 'master' of /var/www/mublog
...
Conflicts:
actions/api.php
actions/deletenotice.php
actions/recoverpassword.php
actions/remotesubscribe.php
actions/tag.php
actions/tagrss.php
actions/twitapiaccount.php
actions/twitapiusers.php
classes/Notice.php
classes/User.php
lib/common.php
lib/language.php
lib/subs.php
lib/twitterapi.php
lib/util.php
scripts/inbox_users.php
scripts/update_translations.php
Merged development trunk into laconica head. woohoo!
2009-01-23 08:58:31 +01:00
Evan Prodromou
e2869fcf0a
Move NoticeWrapper to a generalized ArrayWrapper class
...
We need to use array wrappers for other kinds of queries, so
I generalized the NoticeWrapper and tested it in the Notice class.
2009-01-22 18:48:52 +01:00
Evan Prodromou
2f043b74e7
Move common_save_replies to Notice class
2009-01-22 01:53:27 -05:00
Evan Prodromou
17fc0b7880
Add the right inbox source for group notices
2009-01-21 22:40:42 -05:00
Evan Prodromou
fca1ccc351
First pass at delivery of group messages
...
A first pass at the delivery of group messages.
2009-01-21 21:53:02 -05:00
Evan Prodromou
4873277b58
Wrap notice-saving code in a transaction
2009-01-20 08:19:32 -05:00
Evan Prodromou
3285e0979d
Move add to notice inboxes before cache clearing in hopes they will be
...
updated
2009-01-19 22:21:16 -05:00
Evan Prodromou
c65bc1731f
more places where required since param skipped for Notice::getStreamDirect
...
darcs-hash:20081211195259-5ed1f-c52136c07bdad5521184bd1990313030a8e1e831.gz
2008-12-11 14:52:59 -05:00
Evan Prodromou
0f70d496c9
missing argument
...
darcs-hash:20081211171353-84dde-31b2858e361f62e13ca8ca8784b1aac4209ef04c.gz
2008-12-11 12:13:53 -05:00
Evan Prodromou
e85835d0d3
resolve whitespace changes in Notice.php
...
darcs-hash:20081211163150-5ed1f-10ff4c4863145909c1d541e39dc4bf69d945cfd7.gz
2008-12-11 11:31:50 -05:00
Evan Prodromou
7ad2f2a371
TRUE
...
More PEAR coding standards global changes. Here, I've changed all
instances of TRUE to true and FALSE to false.
darcs-hash:20081223194428-84dde-cb1a1e6f679acd68e864545c4d4dd8752d6a6257.gz
2008-12-23 14:44:28 -05:00
Evan Prodromou
04ef1ba8ee
change function headers to K&R style
...
Another huge change, for PEAR code standards compliance. Function
headers have to be in K&R style (opening brace on its own line),
instead of having the opening brace on the same line as the function
and parameters. So, a little perl magic found all the function
definitions and move the opening brace to the next line (properly
indented... usually).
darcs-hash:20081223193323-84dde-a28e36ecc66672c783c2842d12fc11043c13ab28.gz
2008-12-23 14:33:23 -05:00
Evan Prodromou
eb2f9c98ac
replace NULL with null
...
Another global search-and-replace update. Here, I've replaced the PHP
keyword 'NULL' with its lowercase version. This is another PEAR code
standards change.
darcs-hash:20081223192129-84dde-4a0182e0ec16a01ad88745ad3e08f7cb501aee0b.gz
2008-12-23 14:21:29 -05:00
Evan Prodromou
edbc0c665c
replace all tabs with four spaces
...
The PEAR coding standards decree: no tabs, but indent by four spaces.
I've done a global search-and-replace on all tabs, replacing them by
four spaces. This is a huge change, but it will go a long way to
getting us towards phpcs-compliance. And that means better code
readability, and that means more participation.
darcs-hash:20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz
2008-12-23 14:19:07 -05:00
Zach Copley
92ea88fd60
trac540 - Add 'since' param to Twitter-compatible API calls
...
darcs-hash:20081209055345-7b5ce-e48fd4c87963b8ae15859fd03d2f1f86a16f3a2b.gz
2008-12-09 00:53:45 -05:00
millette
51dda41211
delete user and all traces from the db.
...
darcs-hash:20081203164942-099f7-ea511948139c9c18b1c8b7de018aa4f0ee5ff624.gz
2008-12-03 11:49:42 -05:00
millette
ce08833303
shorten urls for posts > 140 chars only, from anywhere. Only show long urls in title attributes for links we shortened ourselves.
...
darcs-hash:20081128210114-099f7-4e4cde0a983c2ac6d41efb59b46cb7dbf45dc7a6.gz
2008-11-28 16:01:14 -05:00
Evan Prodromou
7745917305
don't check edit throttle if throttle not enabled
...
darcs-hash:20081210194335-84dde-a74fe65acfa707eae5499cdf47850d353562ccb8.gz
2008-12-10 14:43:35 -05:00
Zach Copley
1e4e6eee32
Ban certain users from posting by nickname and/or ID
...
darcs-hash:20081210191337-7b5ce-f9a083596b3f5627405c9e233c1994d8338f5731.gz
2008-12-10 14:13:37 -05:00
millette
8b15411865
make sure passed profile_id is valid in Notice::saveNew
...
darcs-hash:20081210181123-099f7-b13ae11d136512655fc5ba4bb314c80256244593.gz
2008-12-10 13:11:23 -05:00
Evan Prodromou
a143b64666
edit throttling
...
darcs-hash:20081210174722-84dde-4c79d7f73230d008195bd19738bc9a6017b940e9.gz
2008-12-10 12:47:22 -05:00
Evan Prodromou
0bcfb2e698
change is_local flag for blacklisted users
...
Changed the flag on notices that says whether the notice is local, so
that it's -1 for local-but-blacklisted. This should keep blacklisted
users off the public timeline.
darcs-hash:20081202184258-5ed1f-cd87ea5c528ea0c90cb31eeb59d4d1ba4f85e9ad.gz
2008-12-02 13:42:58 -05:00
Evan Prodromou
577b54c2af
blow last caches on notice delete
...
We do some extra caching of streams, at ';last'. If a notice is
deleted, we need to blow those caches, too. So, this deletes them.
darcs-hash:20081124003240-84dde-aa4561e5e68b0ccc0598ac86294ea54f9be5775a.gz
2008-11-23 19:32:40 -05:00
Evan Prodromou
64101cc579
whitespace cleanup
...
darcs-hash:20081122124235-84dde-680b2d2c8caff26d40dec4fe8e926a61668c47a0.gz
2008-11-22 07:42:35 -05:00
Evan Prodromou
3a82ff2860
double-cache to get newer items
...
darcs-hash:20081122124151-84dde-3e942c9ab172444bd28afb84a452b8bfb5e3574a.gz
2008-11-22 07:41:51 -05:00
Evan Prodromou
a730ad708c
notice inbox only when not already exists
...
darcs-hash:20081121184132-84dde-39d090e8bf82d10f3aa3a55ada3f4170c01e11d1.gz
2008-11-21 13:41:32 -05:00
Evan Prodromou
35407614bb
hide certain users from the public stream
...
On identi.ca, certain users (http://identi.ca/derricklo ) publish 5-10
automated notices every half hour or hour. This can flood the public
stream, making it unreadable for casual readers.
We don't want to prevent anyone from using the site for personal use.
However, if their personal use clouds up the public space, we can
gently remove them from that public space without interfering with
their personal activity.
So: this change prevents selected people's notices from appearing in
the public stream. It's hand-configured by an administrator, and
probably doesn't scale beyond 10-20 blacklisted users. It's a stopgap
measure.
darcs-hash:20081120183722-84dde-8a8401fbcbb6abb60a8b36de249323586ea0b22c.gz
2008-11-20 13:37:22 -05:00
Evan Prodromou
6b6c966369
don't write notice to inbox if user isn't inboxed yet
...
darcs-hash:20081114074211-84dde-77dbee17b2eb5848a0aa012c6ebe352135f5e7c1.gz
2008-11-14 02:42:11 -05:00
Evan Prodromou
74786b951c
add created to notice update
...
darcs-hash:20081112185117-5ed1f-3b2373620581d123182dc951c528276541f4ab68.gz
2008-11-12 13:51:17 -05:00
Evan Prodromou
3987de1064
created timestamp on notice_inbox
...
darcs-hash:20081112172517-5ed1f-4e8534d7898e2134edf4c0a28417b4a5274617d4.gz
2008-11-12 12:25:17 -05:00
zach
8deac7248e
Twitter-compatible API - since_id and before_id were polluting the cache and generating bad SQL
...
(Also cleaned out some extra whitespace.)
darcs-hash:20081104053359-462f3-2f6619bb942aa34b38dd82cb427878f83d4c332c.gz
2008-11-04 00:33:59 -05:00
Evan Prodromou
5f05134110
blow inboxes
...
darcs-hash:20081023203505-5ed1f-9fda1f30a6eb271966b7eaf42968103761b33b22.gz
2008-10-23 16:35:05 -04:00
Evan Prodromou
74291968c4
save notice to inbox on saveNew
...
darcs-hash:20081022205621-5ed1f-4103d4db9713f4e6e65647f71cc788cbee56a240.gz
2008-10-22 16:56:21 -04:00
mac65
c08a67094c
Add support for since_id and before_id to Twitter API. Ticket #540 .
...
darcs-hash:20081001001233-e558a-3fcc269985050021ec9b44c052206c731cc4689d.gz
2008-09-30 20:12:33 -04:00
Evan Prodromou
f9bc366190
more specific profile-get is slightly more efficient
...
darcs-hash:20081004021158-5ed1f-c8f5e68dd411a5fe7a01ae35398914469c377794.gz
2008-10-03 22:11:58 -04:00
Evan Prodromou
bf661a5e84
blow cache in Notice for tags
...
darcs-hash:20080929222107-5ed1f-37f079239b11b8ab13d8d33c850351f703d51371.gz
2008-09-29 18:21:07 -04:00
Evan Prodromou
11eed225b7
blow the cached streams for tags on a new notice
...
darcs-hash:20080928181812-5ed1f-708380f239b17b2a53b7279aa4a55af11156a5e8.gz
2008-09-28 14:18:12 -04:00
Evan Prodromou
6c9fdb314c
remove debugging code for notice streams
...
darcs-hash:20080928174814-5ed1f-3e431670e52096669e26f6a26edc6ae903763411.gz
2008-09-28 13:48:14 -04:00
Evan Prodromou
f5f9559a60
correct some SQL and add some spaces
...
darcs-hash:20080928174316-5ed1f-73bc071fed0aff359c94b4213816e8830eba6c50.gz
2008-09-28 13:43:16 -04:00
Evan Prodromou
4bea5b60a0
exact check on memcached results
...
darcs-hash:20080928173558-5ed1f-0949a60e3c7edb9ad58f818c3121896637033abe.gz
2008-09-28 13:35:58 -04:00
Evan Prodromou
577ee0c115
another debug notice
...
darcs-hash:20080928172002-5ed1f-a81ae374b920e222183cf9de86e5fed732a0ed5b.gz
2008-09-28 13:20:02 -04:00
Evan Prodromou
1dfebc6147
add some debugging stuff to Notice
...
darcs-hash:20080928171407-84dde-9c6944a42a6e8e7f2fc90138336a86ae81c33763.gz
2008-09-28 13:14:07 -04:00
Evan Prodromou
babac77652
lost paren in Notice
...
darcs-hash:20080928132846-5ed1f-cb542b90cdebcb2af95e6e225c3da157a5526741.gz
2008-09-28 09:28:46 -04:00
Evan Prodromou
d3d5942ae3
change arguments to Notice::publicStream
...
darcs-hash:20080928132747-5ed1f-9e9b6d8b91f855758ca4b269418f6d5d6e4a2ae0.gz
2008-09-28 09:27:47 -04:00
Evan Prodromou
02a3f24b92
single function for important streams, with memcached support
...
I moved the 4 streams for a user (with friends, faves, replies,
personal) into functions on the User object. Added a helper function
in Notice for making notice streams. Also, will fetch notice streams
out of the memcached server, if possible. Made the API, RSS, and HTML
output all use the same streams (hopefully cached).
Added some code to Notice to blow the cache when a notice is posted.
Also, added code to favor and disfavor actions to blow the faves
cache, too.
darcs-hash:20080928120119-5ed1f-ead542348bcd3cf315be6f42934353154402eb16.gz
2008-09-28 08:01:19 -04:00
Evan Prodromou
82084ab74c
move memcache connections to util.php
...
darcs-hash:20080926200102-5ed1f-debbc18981424d7724277ac82e5fbfd5e797090e.gz
2008-09-26 16:01:02 -04:00
Evan Prodromou
125953be31
add some more info on notice update
...
darcs-hash:20080926165201-5ed1f-8efd0369f1f367dacca450ac3bffd755ea841f6f.gz
2008-09-26 12:52:01 -04:00
Evan Prodromou
f951b91693
log a db error for inserting the notice
...
darcs-hash:20080926165029-5ed1f-60059ffeac9a39326fc6286faf4ac13c35127f25.gz
2008-09-26 12:50:29 -04:00
Evan Prodromou
8da61dc1d3
path correct in require_once for memcached
...
darcs-hash:20080926161824-5ed1f-b4fb53e5ca65bb099aabbba6ea60a13496f669a2.gz
2008-09-26 12:18:24 -04:00
Evan Prodromou
f6615f70e5
prepend Memcached_DataObject require with INSTALLDIR
...
darcs-hash:20080926161540-5ed1f-2e9dc6f2297c612208214a6d52f36ce0dd7aa4de.gz
2008-09-26 12:15:40 -04:00
Evan Prodromou
e2e6bbb298
caching layer for DB/DataObject
...
I added a new class, Memcached_DataObject, that will (optionally)
fetch data out of a memcached server if it's available. This only
works on 'staticGet'.
Methods that write to the database (insert, update, delete) will clear
and set the cache correctly, too.
darcs-hash:20080926160941-5ed1f-922de078b4c1941853ad014edf9a17fae486f8cf.gz
2008-09-26 12:09:41 -04:00
Evan Prodromou
a64330b77c
blow subscriptions cache when the user deletes a notice
...
darcs-hash:20080920175339-84dde-e46d0e7b86e0752e8331cdfba26257b3ff9e601c.gz
2008-09-20 13:53:39 -04:00
Evan Prodromou
1a81057985
fixup SQL code
...
darcs-hash:20080915073412-84dde-3c9cfb1d2d4933dbaff002b30fffb9e7d3d5e1d7.gz
2008-09-15 03:34:12 -04:00
Evan Prodromou
a6974a6f84
fix cache deletion code
...
darcs-hash:20080915073215-84dde-34bdd1a40ce310bca5bbb6f11ed4df79c7915cb2.gz
2008-09-15 03:32:15 -04:00
Evan Prodromou
f246b8f2d7
cache noticesWithFriends in memcached
...
noticesWithFriends is turning out to be one of our most expensive
queries. The join is costly, and this method is hit over and over and
over by desktop clients and other API users.
So, I've added a first pass at caching the results. I store a "window"
of notices -- equal to the first 3 pages of notices, plus one for
pagination -- in the memcached cache. If with-friends notices are
requests, I fetch the whole window out of the cache and grab the slice
requested. If the requested notices are outside the window, we just do
the query. If there's nothing in the cache, we request the window and
store it, then return a slice.
I had to add a NoticeWrapper class that works like DB_DataObject
(well, just the fetch() part...) but just holds an array of notices
instead of a DB cursor.
Finally, saving a new notice blows away the caches for subscribed users.
darcs-hash:20080915065616-84dde-1b1e814c2294498a10b763b779cbb62c3f96aa84.gz
2008-09-15 02:56:16 -04:00
Ori Avtalion
8f33885e41
Some Notice::saveNew cleanups.
...
* No need to check $source's value before inserting
* No need to update the notice if the $uri was known in advance
darcs-hash:20080902173804-57fc3-496ceaf8192694db43e62f7af1f57785a1a16a01.gz
2008-09-02 13:38:04 -04:00