Commit Graph

145 Commits

Author SHA1 Message Date
Zach Copley
91980c73a7 Updates to the API to improve Atom feeds 2009-03-10 16:15:57 -07: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
eaac9350dd Merge branch 'ping' of /var/www/mublog.corrupt into corrupt/ping
Conflicts:

	lib/util.php
2009-03-05 14:34:53 -08:00
Evan Prodromou
8cc19b90ee Merge branch '0.7.x' of git@gitorious.org:laconica/dev into 0.7.x 2009-03-04 11:05:58 -08:00
Evan Prodromou
f9babf6a7d Check for config file when running
When running the full system, check for a config file, and throw an
error if none is found.
2009-03-04 06:24:33 -08:00
CiaranG
7279554681 Additional (optional, defaults to off) logging of PEAR error details, which allows database issues to be more easily diagnosed. 2009-03-04 00:23:34 +00:00
Evan Prodromou
b70218dc43 automatically handle non-laconica-named databases 2009-02-28 20:32:31 -08:00
Evan Prodromou
f0d3ba2bc2 Add a flag for if there's no config file 2009-02-28 17:42:12 -08: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
9e23b5c5d7 Change action autoloading to allow actions in plugins
Since plugins may define custom actions, we shouldn't require that
there be a file in our actions/ subdir for every action. So, I changed
the (admittedly hackish) auto-loading code in index.php so it instead
checks whether a class exists with the expected name. This, in turn,
uses the increasingly hacking __autoload() function, which I changed
to auto-load stuff named "BlahblahAction" from the actions subdir if
available.
2009-02-09 11:46:26 -05:00
Evan Prodromou
ee4ee388ff include plugin.php early so config can use it 2009-02-09 08:49:28 -05:00
Evan Prodromou
f4e8cc6d9f Add InitializePlugin and CleanupPlugin events
We add two events to allow plugins to initialize and cleanup.
2009-02-09 08:44:30 -05:00
Evan Prodromou
5466f6a6d0 Better exception handling in index
Some better exception handling in Web entry point.
2009-02-09 07:25:35 -05:00
Evan Prodromou
12d7c30ef7 Add event.php before config.php is called 2009-02-09 06:52:39 -05:00
Evan Prodromou
60f737dc1e Update README and version number
README and version number.
2009-02-06 15:35:29 -05:00
Sean Murphy
d4bdb2dc19 Better fix for displaying max file size. 2009-02-05 15:01:44 -05:00
Evan Prodromou
74bf2bf672 Enable configuration files in /etc/laconica/
Enable storing config files in /etc/laconica/, which makes it much
easier to have a single installation with multiple mublogs supported.
2009-01-31 09:38:39 -05:00
Evan Prodromou
32f81b3c0e Initial support for ping service
It makes sense to use the weblogs.com ping service to alert people to
changes on the site. So, we do. Includes an extra ping queue handler.
2009-01-24 18:38:12 +01:00
Evan Prodromou
aadf10cedb Update version number 2009-01-23 08:15:40 +01:00
Evan Prodromou
4163f45004 Update register action to match phpcs and new framework 2009-01-18 13:37:58 +00:00
sarven
4549e577ac Updating Creative Commons text and image 2009-01-16 15:52:17 +00:00
Evan Prodromou
38ad44f632 Auto-load from lib as well as classes 2009-01-16 02:35:56 +00: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
Evan Prodromou
29b6858f23 bugpatch release code
darcs-hash:20081220204852-34904-d63d2050408db9eeaea0af8e81c5b5c9e0c8f227.gz
2008-12-20 15:48:52 -05:00
Zach Copley
3e70bfa287 Fixed Popular tab (hopefully)
darcs-hash:20081212075617-7b5ce-c56db92d928c58eaa3fed7e4f226e0fca62e2bbf.gz
2008-12-12 02:56:17 -05:00
Evan Prodromou
203bc45842 documentation and version number
darcs-hash:20081212043201-84dde-1bf07467f85f743fb5cb4ec92e5b8934bfb49578.gz
2008-12-11 23:32:01 -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
Evan Prodromou
a143b64666 edit throttling
darcs-hash:20081210174722-84dde-4c79d7f73230d008195bd19738bc9a6017b940e9.gz
2008-12-10 12:47:22 -05:00
Evan Prodromou
f2d9e40787 README for new version
darcs-hash:20081124043723-84dde-289b6415c59eb6955d0a8d3c74bbbdb225b01a02.gz
2008-11-23 23:37:23 -05:00
millette
095ff0feed conflict resolution on people search
darcs-hash:20081123190555-099f7-cd09b07e99355e2f61562324221840f869fea5bb.gz
2008-11-23 14:05:55 -05:00
millette
6b29f6ed70 sphinx integration for notices and profiles
darcs-hash:20081123185136-099f7-ca600dbdfff09762802e1cc58cf8777c45a24402.gz
2008-11-23 13:51:36 -05:00
millette
0bd6f76451 sphinx search of people
darcs-hash:20081120211347-099f7-d5588788dcd9a16cf72ece59da3d2bf9b8171b85.gz
2008-11-20 16:13:47 -05:00
Zach Copley
727c4060a5 New public tabs - Public, Recent tags, Featured, and Favorited
darcs-hash:20081120071930-7b5ce-a15d7308bde085f03aa335c98ecd0aaa3833bc35.gz
2008-11-20 02:19:30 -05:00
Zach Copley
147dd16ab3 trac685 Twitter bridge - Shell script to sync all users' Twitter friends
darcs-hash:20081119011128-7b5ce-74471277443b44d0075f66131028447cfda3b1e4.gz
2008-11-18 20:11:28 -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
4b5158dd4d update version number in common.php
darcs-hash:20081118173250-34904-ebde2dda47e743d5728a3ff9f556a8945b734009.gz
2008-11-18 12:32:50 -05:00
Evan Prodromou
169b3e00e1 add documentation on notice inboxes
darcs-hash:20081113214544-84dde-a6de7a968847a7043aecdf0201abca648dd15e70.gz
2008-11-13 16:45:44 -05:00
millette
4abd5a6ed9 added Shorturl_api to add support for ur1, 2tu and other services lacking a native api - trac31
darcs-hash:20081107193831-099f7-e340280ba9d2abb4dca05733bc04bb5a5069b62b.gz
2008-11-07 14:38:31 -05:00
Evan Prodromou
3a246c1726 add 'invite-only' mode for registration
darcs-hash:20081021182822-5ed1f-9a8ee3960f82d115d43e35baac646f69bc702533.gz
2008-10-21 14:28:22 -04:00
Evan Prodromou
67184b3375 increment the version
darcs-hash:20081006040713-5ed1f-da7f2235b5301c1889922f5c133c01920a316c57.gz
2008-10-06 00:07:13 -04:00
Evan Prodromou
392137b403 change foreign links flags code to use bitmasks
Zach was doing a lot of integer comparisons on the Foreign_link sync
fields. I switched them to use named bitmasks instead. I also switched
the semantics of bit 3 to be the opposite of what Zach had -- I find
lots of double-negatives in a checkbox to be hard to read.

darcs-hash:20080924150834-5ed1f-54cd945f61e43bc06768037c60c1e6180a8feead.gz
2008-09-24 11:08:34 -04:00
Evan Prodromou
27b7987b3c version number -- doh!
darcs-hash:20080923045449-5ed1f-073632fdff95f4869730d01d57cfdb83b31401a9.gz
2008-09-23 00:54:49 -04:00
Evan Prodromou
ac60342e89 merge CiaranG's changes for subs
darcs-hash:20080922225031-84dde-c6967f46ae642f8943b0de77d9a82892ecadb4ce.gz
2008-09-22 18:50:31 -04:00
CiaranG
26634ef0a0 Initial support for PostgreSQL
darcs-hash:20080909072224-f6e2c-881bd2e7fb032f336fecae9ca5ce527dd821d3dc.gz
2008-09-09 03:22:24 -04:00
Evan Prodromou
eb4df223e6 integrate local changes with Zach's
darcs-hash:20080916210813-84dde-c2cadb63b09f59ac6c76dc1205a56687de9483ce.gz
2008-09-16 17:08:13 -04:00
Zach Copley
6b42c984ee Twitter integration - added $config option for source attribute when posting to Twitter
darcs-hash:20080907062118-7b5ce-b4412446bbf245b1d14a78b01ecde0f71f621185.gz
2008-09-07 02:21:18 -04:00
CiaranG
bfb22a9932 XMPP daemon updates including help, sub and subsub commands, plus subscribe/unsubcribe logic broken out into standalone module for sharing
darcs-hash:20080816083422-f6e2c-fb8b4e0581719bd8c3f433e661ec9742e1b84cbc.gz
2008-08-16 04:34:22 -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