Commit Graph

301 Commits

Author SHA1 Message Date
Evan Prodromou
ca1f639fd6 log transport when claiming a notice
darcs-hash:20080830054933-84dde-58cc7aa6947612cda9987d532d85d9dd81e32410.gz
2008-08-30 01:49:33 -04:00
Evan Prodromou
6b1f391306 $this->log to common_log in Queue_item
darcs-hash:20080828004503-84dde-c406172d750d0a5452d5cc62ecd7b27db381c575.gz
2008-08-27 20:45:03 -04:00
Evan Prodromou
35ed6f473c change queue_item to use a compound primary key
Breaking up to use multiple queue handlers means we need multiple
queue items for the same notice. So, change the queue_item table to
have a compound pkey, (notice_id,transport).

darcs-hash:20080827211239-84dde-db118799bfd43be62fb02380829c64813c9334f8.gz
2008-08-27 17:12:39 -04:00
Evan Prodromou
b9f0ea6f0e break up monolithic xmppdaemon into multiple queue handlers
Eventually, the poor xmppdaemon has become overloaded with extra
tasks. So, I've broken it up. Now, we have 5 background scripts, and
more coming:

* xmppdaemon.php - handles incoming XMPP messages only.
* xmppqueuehandler.php - sends notices from the queue out through XMPP.
* smsqueuehandler.php - sends notices from the queue out over SMS
* ombqueuehandler.php - sends notices from the queue out over OMB
* xmppconfirmhandler.php - sends confirmation requests out over XMPP.

This is in addition to maildaemon.php, which takes incoming messages.

None of these are "true" daemons -- they don't daemonize themselves
automatically. Use nohup or another tool to background them. monit can
also be useful to keep them running.

At some point, these might become fork()'ing daemons, able to handle
more than one notice at a time. For now, I'm just running multiple
instances, hoping they don't interfere.

darcs-hash:20080827205407-84dde-97884a12f5f4e54c93bc785bd280683d1ee7e749.gz
2008-08-27 16:54:07 -04:00
Evan Prodromou
b1ff7d7a2b fix error storing uris of remote notices
darcs-hash:20080826211108-84dde-b277bdb1476b9cec0c0d93fa8d565c4642ba16c8.gz
2008-08-26 17:11:08 -04:00
Evan Prodromou
08a3c5ac7f use better SQL date, fix security problem with OpenID logins
darcs-hash:20080825184104-84dde-5735c1791002a12c3417603dc85da31ea868f263.gz
2008-08-25 14:41:04 -04:00
Evan Prodromou
21e4fb864f change DataObject_Cast to use sql_now
darcs-hash:20080825183005-84dde-c1d24a057d9545cc6d1f0dc21c5af4ea7316d8e9.gz
2008-08-25 14:30:05 -04:00
Evan Prodromou
c2a2da6966 add database tables for foreign services
darcs-hash:20080819221214-84dde-15683b1e146b9e29064aa8ae04bc7daebfaf2e92.gz
2008-08-19 18:12:14 -04:00
Evan Prodromou
47d15bc662 first step towards adding favorites to the system
darcs-hash:20080813142637-84dde-9530d153eceb6bbedbb692755aa5c96d65d8e071.gz
2008-08-13 10:26:37 -04:00
zach
35d1714621 Twitter-compatible API: support for new in_reply_to_status_id in statuses/update
darcs-hash:20080815185317-ca946-11c3f9f7255180d5d6ea7b115b3e33b2abb7fe93.gz
2008-08-15 14:53:17 -04:00
Evan Prodromou
7554f2561c move user registration to a single static method
darcs-hash:20080814002038-84dde-8505d4e083056b770db128129a95be639d8e7f0a.gz
2008-08-13 20:20:38 -04:00
Evan Prodromou
2c3ed64027 LOG_ERROR -> LOG_ERR (again)
darcs-hash:20080807234227-84dde-a64619c71de020aa2284ca1a36ea2a71ff8b29a6.gz
2008-08-07 19:42:27 -04:00
Evan Prodromou
9676315b2e extend length of source for notices
darcs-hash:20080731152731-84dde-dc6bf652c38ae9a52950e65d7cb310f870a70640.gz
2008-07-31 11:27:31 -04:00
Evan Prodromou
c21ed78fa7 save the source
darcs-hash:20080730025052-84dde-9669e6a7df50bf5762bd3e175ed1471bff9d446c.gz
2008-07-29 22:50:52 -04:00
Evan Prodromou
d79dc8344b refactor notice-adding code to one static method on Notice
darcs-hash:20080730022856-84dde-f19e4ff5d5ae2603b63b8aebd8f878ec90b3ce22.gz
2008-07-29 22:28:56 -04:00
Mike Cochrane
49f30e23a3 Resolve conflicts
darcs-hash:20080722205315-533db-7ebf783855b8f1b302c52ec431b4025ef0983c82.gz
2008-07-22 16:53:15 -04:00
mikec
a4fa34cecb Resolve conflicts after pull from evan
darcs-hash:20080721135637-edabd-cca33bc0a0936423b9fd2ffdf9413236123d680e.gz
2008-07-21 09:56:37 -04:00
Mike Cochrane
b1ea12de56 Changse to ini file that I always forget to record
darcs-hash:20080721123243-533db-bf3664c2cb9d2cd37c633e13ab918994c57d01a0.gz
2008-07-21 08:32:43 -04:00
mikec
334c652e80 Publish MicroIDs for email and mpp on profile and notice pages.
darcs-hash:20080721120036-edabd-838335c0e23c80a657d353955b25b52a9a8624b2.gz
2008-07-21 08:00:36 -04:00
Mike Cochrane
12e610a223 Regenerate class file for language column
darcs-hash:20080720100253-533db-bc2605d57e265cfa4e38866b977c81302d4fb1c5.gz
2008-07-20 06:02:53 -04:00
Mike Cochrane
02325570a6 Update for langauge column
darcs-hash:20080720095651-533db-fc0ab9f07e9d354c3b73a1f90bdc3224209651f2.gz
2008-07-20 05:56:51 -04:00
matthew.gregg
6dd211530f Patch for PITS 00032, 00033, 00034
darcs-hash:20080719003417-982e4-7004f8a4dfb447f941457c30b0b2289eee5582e6.gz
2008-07-18 20:34:17 -04:00
Mike Cochrane
224a3ad82c Missing ini settings for notice_tag table
darcs-hash:20080720080801-533db-ac529a873885e7142e6e0450479bf59aafb6c058.gz
2008-07-20 04:08:01 -04:00
Mike Cochrane
5d84485001 First cut at hastags support.
darcs-hash:20080720055702-533db-193ed842b0d0a952bef71a3c5287213ada0ef15c.gz
2008-07-20 01:57:02 -04:00
Evan Prodromou
471e4056f4 add notice sources (currently unused)
darcs-hash:20080722164639-84dde-19c6300516443862da016120cf9eed40e5972b6d.gz
2008-07-22 12:46:39 -04:00
Evan Prodromou
42ac47915b don't get a count from query
darcs-hash:20080722163116-84dde-3b17b13022b3d97483e911a99ebd23cc4b8da784.gz
2008-07-22 12:31:16 -04:00
Evan Prodromou
9515303b14 notices and counts
darcs-hash:20080722162332-84dde-75801a271f50789377aa7a3467223286c372ec6c.gz
2008-07-22 12:23:32 -04:00
Evan Prodromou
97b1552c9a another whitespace SQL error
darcs-hash:20080722161752-84dde-aaf5762ef3d376f0e8f335ff8f7811e3162d33fb.gz
2008-07-22 12:17:52 -04:00
Evan Prodromou
2f73f8a5e2 whitespace in SQL
darcs-hash:20080722161712-84dde-58d69d8861ad6be471ab2403cd5d23942c27eac6.gz
2008-07-22 12:17:12 -04:00
Evan Prodromou
81e6d50c53 blow off DB_DataObject joins, write SQL from scratch
darcs-hash:20080722161549-84dde-fedeed101bdef172f4a7aabf2278f1a2277a6d88.gz
2008-07-22 12:15:49 -04:00
Evan Prodromou
64ed01f0af centralize and optimize with-friends query
darcs-hash:20080722160213-84dde-2e466b9cc4601a8cb7237770a7df17a2f9dcadb9.gz
2008-07-22 12:02:13 -04:00
Evan Prodromou
e1361cdf48 mark notices as local
darcs-hash:20080722141614-84dde-b80c6945fdb90a5f67acaba65a1e4c2b306b1f8e.gz
2008-07-22 10:16:14 -04:00
Evan Prodromou
98af7402c7 update keys for incomingemail
darcs-hash:20080721085641-84dde-9b29902977f78714188ba5fe8c37b4d603c3c63b.gz
2008-07-21 04:56:41 -04:00
Evan Prodromou
f538ab414b save changes to smsemail
darcs-hash:20080721044604-84dde-c3e920bd56992c4e6a77625767b4599bacc74434.gz
2008-07-21 00:46:04 -04:00
Evan Prodromou
0c0ac46f43 add flag for sms replies
darcs-hash:20080721040551-84dde-f6c76d806969ccaa772da31235baaf7d9b065c15.gz
2008-07-21 00:05:51 -04:00
Evan Prodromou
3345f54186 add sms email address to user
darcs-hash:20080721035919-84dde-e06f9094902522d2cd0ad71d65d565293f19db4a.gz
2008-07-20 23:59:19 -04:00
Evan Prodromou
009a8efaf1 $true not the same as true
darcs-hash:20080720233308-84dde-f9de49360dd366690bd6e3bb55cb5fe632dd7298.gz
2008-07-20 19:33:08 -04:00
Evan Prodromou
d294c91d82 add autosubscribe
darcs-hash:20080720201620-84dde-f782e01bdf7f267b3b02e20e851aa7b643ed8590.gz
2008-07-20 16:16:20 -04:00
Evan Prodromou
48ac5b9e85 add autosubscribe flag to users
darcs-hash:20080720200530-84dde-dade3117bdf510c1880d35f27bd9352995725175.gz
2008-07-20 16:05:30 -04:00
Evan Prodromou
5fd0a788d5 start sms settings
darcs-hash:20080720193005-84dde-97e098996309550dc98b658923d84620e7715c69.gz
2008-07-20 15:30:05 -04:00
Evan Prodromou
594811350c email settings for post by email
darcs-hash:20080719202625-84dde-52b3d6710302f55e35ef57ea0aa4aff07cbeafaa.gz
2008-07-19 16:26:25 -04:00
Evan Prodromou
53f59ca9d2 add a transport flag to queue items
darcs-hash:20080719140906-84dde-9fcac26ee544ad53091808256f70b1745ac27a70.gz
2008-07-19 10:09:06 -04:00
Evan Prodromou
9a3f73a672 mailer daemon start
darcs-hash:20080717132533-84dde-4ada5d4a103d92b9767726e723b26246205b9cbd.gz
2008-07-17 09:25:33 -04:00
Evan Prodromou
c1b0cdf909 add nonce links
darcs-hash:20080718041549-84dde-fbf9fe830b5f4be5cce5124522f923b83de3a582.gz
2008-07-18 00:15:49 -04:00
Evan Prodromou
6ad6e4aa50 hand-built links.ini
darcs-hash:20080718013444-84dde-7076bec8ccdf34ef5d31efd7bbbbfd29a1f3dab3.gz
2008-07-17 21:34:44 -04:00
Evan Prodromou
86428cbddb rebuild classes based on DB change
darcs-hash:20080715222026-84dde-6ceebbb94455aec41907896ab65294ce3f79492f.gz
2008-07-15 18:20:26 -04:00
Evan Prodromou
61487d4cd0 move email settings to its own tab
darcs-hash:20080715221826-84dde-8a3692f95199818c11dbb0be159d07f1ab10cf6a.gz
2008-07-15 18:18:26 -04:00
Evan Prodromou
499afd8c22 replies from people you're not subscribed to over Jabber
darcs-hash:20080715195513-84dde-454419c971015be385d9c4c35f7acbee419031f9.gz
2008-07-15 15:55:13 -04:00
Mike Cochrane
bdd0091e70 Sort notices by date then id so they are in the correct order when there are multiple in the same second
darcs-hash:20080713065009-533db-69d7f21d152552d7e994a0c7c7615b61a8ea592c.gz
2008-07-13 02:50:09 -04:00
Mike Cochrane
98cf96b3e4 Resolve conflict properly
darcs-hash:20080710045942-533db-209fce2e2e89dfc809c9b25e93fb428c585f29e4.gz
2008-07-10 00:59:42 -04:00
Mike Cochrane
7e38142d4a Resolve conflicts and convert _t( to _( where it was introduced again.
darcs-hash:20080710045126-533db-ffd9bcfe1295b3a376579ed7cd2278d5597b1884.gz
2008-07-10 00:51:26 -04:00
Mike Cochrane
4b656f47df Merge conflicts and kill a whole lot of trailing whitespace on lines.
darcs-hash:20080709224630-533db-b5399baef280133858dac9b89c2cd6a2aba9f861.gz
2008-07-09 18:46:30 -04:00
Evan Prodromou
335d5f2e89 add 'avatar' to blacklisted names
darcs-hash:20080711171113-84dde-56b61d305e207bdb7d1fa844356fbc41e5bd43b9.gz
2008-07-11 13:11:13 -04:00
Evan Prodromou
62747030ca add fancy urls for search
darcs-hash:20080709223144-84dde-10f7f9db7dc5ba200fdeea4d6c1f277e71c54c16.gz
2008-07-09 18:31:44 -04:00
Evan Prodromou
816262d488 rebuild DB_DataObject classes for new structure
darcs-hash:20080709200711-84dde-b6a9e403ab50ef5a6497a25a756ed63c373f0402.gz
2008-07-09 16:07:11 -04:00
Evan Prodromou
8c9d88e26f check for profile
darcs-hash:20080707062347-84dde-fb13c5548d962092877fc374cea3f81ec2cca43e.gz
2008-07-07 02:23:47 -04:00
Evan Prodromou
8d3ec9c920 twiddle a few bits to make replies work correctly
darcs-hash:20080707054358-84dde-916977a2af4f792e0dc9e02a9f5344ec60911319.gz
2008-07-07 01:43:58 -04:00
Evan Prodromou
7231c58e22 some twiddles in the db for replies, plus the class
darcs-hash:20080706223839-84dde-269eba758843e45265a08379356cdfd84701e2cd.gz
2008-07-06 18:38:39 -04:00
matthew.gregg
0b21ac3dd7 First pass at replies support http://laconi.ca/PITS/00080
Doesn't handle a reply to a user that has never updated.

darcs-hash:20080623030837-982e4-532ccd8899fd8be00575f8840da0defb44cd56f8.gz
2008-06-22 23:08:37 -04:00
Evan Prodromou
b1903700d1 fixes on bourdin for confirm claims
darcs-hash:20080706090309-5a68a-188f45e295e43933595dadfa0c2cfa71b6573386.gz
2008-07-06 05:03:09 -04:00
Evan Prodromou
13ac93481c add queueing variables to confirm_address
darcs-hash:20080706031234-84dde-42e06c969ef6e8a63c527c197d7f074f7346d223.gz
2008-07-05 23:12:34 -04:00
Evan Prodromou
e45a97a20f don't treat notice_id like a sequence
darcs-hash:20080704082418-84dde-5f314d3f0c72756f480599913a4aab6c0404dcc6.gz
2008-07-04 04:24:18 -04:00
Evan Prodromou
784299c257 add a queued notice item
darcs-hash:20080704040746-84dde-36803f820ea7c238613cf5728c59a18ff1eb442d.gz
2008-07-04 00:07:46 -04:00
Evan Prodromou
5df185a5ed add table for remember me codes
darcs-hash:20080624020205-34904-be536546e7058ed77a6d45be4f91ffe201b3448e.gz
2008-06-23 22:02:05 -04:00
Evan Prodromou
ae40dfe842 add imsettings to menu
darcs-hash:20080623223641-34904-2758e19c70026a0c169e99d86481d87b0b4bc79c.gz
2008-06-23 18:36:41 -04:00
Evan Prodromou
d758c11784 disallow nicknames on a blacklist
darcs-hash:20080622180437-34904-4b6313f6fd8845232031663c5c2df00dff725183.gz
2008-06-22 14:04:37 -04:00
Evan Prodromou
200124eca3 auto-increment primary key for SMS carrier
darcs-hash:20080622164013-34904-4119be65edb5fc09dcbe11edf17c3401f1d19a33.gz
2008-06-22 12:40:13 -04:00
Evan Prodromou
4fd1f6246d correctly use Confirm_address
darcs-hash:20080622161607-34904-d8e042b80fe6acd3cb6ad763216a0b1817752cac.gz
2008-06-22 12:16:07 -04:00
Evan Prodromou
b19c86bd00 change Confirm_email to Confirm_address
darcs-hash:20080622155028-34904-4861ffd6927b05c35614b1ce8c51eec73e0bc9ac.gz
2008-06-22 11:50:28 -04:00
Evan Prodromou
1cab6c7d50 strcmp for comparison
darcs-hash:20080622153220-34904-119cea6c5dbe20e33569287cf9632c07e9768b10.gz
2008-06-22 11:32:20 -04:00
Evan Prodromou
acf562b3dd use updateKeys() for updating the user
darcs-hash:20080622151611-34904-1d952df08b5247ab391bb76fd50d7b90498f0c96.gz
2008-06-22 11:16:11 -04:00
Evan Prodromou
2b258b1a9a use internal quoting code for manual query
darcs-hash:20080622150633-34904-2e26094807f989a62261f2247d0a53995eb5bac5.gz
2008-06-22 11:06:33 -04:00
Evan Prodromou
73921da0f3 add a method to update key fields in User
darcs-hash:20080622145644-34904-92549d9bb68251214c4dc370f6e2a56f516ceecb.gz
2008-06-22 10:56:44 -04:00
Evan Prodromou
bf0be3ddb7 confirm email addresses
darcs-hash:20080620051536-5ed1f-231e427832dd20c861eb7a6dc1171315e90f455b.gz
2008-06-20 01:15:36 -04:00
Evan Prodromou
4aedce6864 do some commits
darcs-hash:20080619033212-84dde-2f7227fe16c7015b03121424520ebd74d4b96762.gz
2008-06-18 23:32:12 -04:00
Evan Prodromou
5f0bf3d88e user_id in user_openid is not unique
darcs-hash:20080618110126-84dde-4dd97a6e08fb95b0f9860edda45ccaedb3958b20.gz
2008-06-18 07:01:26 -04:00
Evan Prodromou
252c4098c4 finish openid
Added some code to make finishing the OpenID login work.

Changed the OID storage so that there's a "canonical" URL and a
display URL. This is because of i-names, which is annoying.

If the login succeeds, we try to find a local user associated with the
canonical URL. If they don't exist, we let the user either create a
new account, or login to an existing account and connect to it.

A totally unrelated change is that the DB engine now uses InnoDB.

darcs-hash:20080618052638-84dde-909e51dbd5b9eadadf18cd010868baa18ea2349a.gz
2008-06-18 01:26:38 -04:00
Evan Prodromou
c02a01914a start openid rp integration
darcs-hash:20080617133501-84dde-adec156ac58b84cce41ae0e9bde58cf7637e6c42.gz
2008-06-17 09:35:01 -04:00
Evan Prodromou
024dc6c098 email notification on new subscriptions
darcs-hash:20080615030202-84dde-ebed7919c227ce280dc818f301e15001eb8b5926.gz
2008-06-14 23:02:02 -04:00
Evan Prodromou
2bc198432c hide warnings when unlinking an avatar file
darcs-hash:20080612185322-84dde-b14d4cbc90f3b5b04931e4b5d3c20f027abb609c.gz
2008-06-12 14:53:22 -04:00
Evan Prodromou
6af287f554 passing id to the avatar filename function
darcs-hash:20080605195500-84dde-307ed9c01b6efa0055908f408d3032ce7d7a9870.gz
2008-06-05 15:55:00 -04:00
Evan Prodromou
bd4ec5d147 setOriginal() is an instance method
darcs-hash:20080605195222-84dde-c9e00b0ef0f8fed4ea5d4c088d52e39589b6bb02.gz
2008-06-05 15:52:22 -04:00
Evan Prodromou
56021d9572 move avatar scaling and saving to Avatar and Profile
Extracted the code for setting a new original avatar to the Profile
class, and moved some of it to Avatar, too. This makes it easier to
have the same functionality whether an avatar is set using the profile
settings (for our users), or on a remote subscription. Necessitated
changing the filenaming function to just take an ID.

darcs-hash:20080605193708-84dde-a441cc0474951ce7f1a1da9310b5145c0b7c3070.gz
2008-06-05 15:37:08 -04:00
Evan Prodromou
9977591b78 server-side storage model
First pass at a server-side storage model. New tables for consumers,
tokens, and nonces, with associated classes. An OAuthDataStore class
interfaces with the OAuth.php library to enable server logic.

Some additional work to get pretty-OK random number generation into
the utilities library. Use /dev/urandom if available; else use
mt_rand().

darcs-hash:20080527200721-84dde-308c047af2ebc2c4d753c1e1e24af20fef862a7e.gz
2008-05-27 16:07:21 -04:00
Evan Prodromou
7979176e14 generate classes for db schema with URIs
darcs-hash:20080522184109-84dde-0d13fc6890f85613554f5dd64b1baa67bbcaa8f6.gz
2008-05-22 14:41:09 -04:00
Evan Prodromou
46b3f1c3a7 remove validation code
darcs-hash:20080521110253-84dde-e8d6f62225bb56f5e08b28b35d23ccfbe56984fd.gz
2008-05-21 07:02:53 -04:00
Evan Prodromou
41a149b74a fixup footer menu and fix syntax error in profile.php
darcs-hash:20080520210437-84dde-1a8472f5b5cdde042975d669b0fdca5d6984f330.gz
2008-05-20 17:04:37 -04:00
Evan Prodromou
e1f04061b9 ease up on the validation
darcs-hash:20080520210119-84dde-a9b74a933bd45b2e6b2f96a53a1be55caa0f7912.gz
2008-05-20 17:01:19 -04:00
Evan Prodromou
5137eb20d8 fix validation of url
darcs-hash:20080520192634-84dde-2394dbf8767ff886817a5f20f5c9064ea3a1bc79.gz
2008-05-20 15:26:34 -04:00
Evan Prodromou
52600ce0b0 trim whitespace
darcs-hash:20080520191412-84dde-a607dbe848279639630edd1ab4616d05cc2318d1.gz
2008-05-20 15:14:12 -04:00
Evan Prodromou
5d1a6f0fef add validation methods to classes
darcs-hash:20080520185756-84dde-290bc12cddfc1738a96385e95821d466eff11196.gz
2008-05-20 14:57:56 -04:00
Evan Prodromou
c87951f895 update avatar table
darcs-hash:20080519134057-84dde-d30a178de9e3e7d6ced21e9c395dfac545b3d343.gz
2008-05-19 09:40:57 -04:00
Evan Prodromou
95717c2b16 change how the user profile is fetched
darcs-hash:20080517192001-84dde-fa2b16b7aeacab52c7697e14182fc72d2022bfcc.gz
2008-05-17 15:20:01 -04:00
Evan Prodromou
3b14b7901c fixes to make it all lint
Ran everything through php -l, found out that it didn't compile.

So: fixed the am-I-running-in-Laconica check at the top of each file.
Some syntax fixes in shownotice, showstream, common.

darcs-hash:20080517154701-84dde-8d38da89c5b9cb3b40704adb04a4de880c204181.gz
2008-05-17 11:47:01 -04:00
Evan Prodromou
fac522f4d7 settings and avatars
Did considerable work on the settings section.

Redesigned the DB to allow avatars. Each avatar image has a size and
an URL. There can be multiple avatars per profile, just different sizes.

Added accessors in Profile for avatar. Show the avatar in lots of
places, where it makes sense. Constants for avatar sizes in common.php.

darcs-hash:20080515162844-84dde-fe0630366e247c02ca8ca9d1cc6b963cfce57a26.gz
2008-05-15 12:28:44 -04:00
Evan Prodromou
b6cfd2dffe license block for source code
Added GNU Affero GPL license block to source code.

Added name "LACONICA". I think it should work fine.

darcs-hash:20080514192648-84dde-a430dc438a4e3741c62ccf30ee7f85ecc968b159.gz
2008-05-14 15:26:48 -04:00
Evan Prodromou
0036795582 deny access to include files
darcs-hash:20080514190009-84dde-30f0f1b5955d71cd85563e12078ab02bf8645524.gz
2008-05-14 15:00:09 -04:00
Evan Prodromou
67a347bafb considerable coding
darcs-hash:20080514145436-84dde-d0994cb35d3fe8545d3f08abeec3cdfe7559c67d.gz
2008-05-14 10:54:36 -04:00
Evan Prodromou
f0a30cc89d read-only stuff
darcs-hash:20080509021604-84dde-f785fc09dd435fc12741b3a75184e2425721d03d.gz
2008-05-08 22:16:04 -04:00
Evan Prodromou
0fa97d6e2e add data objects
darcs-hash:20080507171542-84dde-232baccc10f015e8c0e80edf0ceea4aa5c85b4b7.gz
2008-05-07 13:15:42 -04:00
Evan Prodromou
c47de27c11 beginnings of PHP
darcs-hash:20080507164807-84dde-ef7d205a0fedca42064a337786d2f203cdcc5a45.gz
2008-05-07 12:48:07 -04:00