summaryrefslogtreecommitdiff
path: root/classes
AgeCommit message (Collapse)Author
2010-03-18OStatus discover fixes:Brion Vibber
* Subscription::start was sometimes passing users instead of profiles to hooks, which broke OStatus subscription notifications; now normalizing to profiles for processing. * H-card parsing would trigger a lot of PHP warnings and notices in hKit. Now suppressing warnings and notices for the duration of the call to keep them out of output when display_errors is on. * H-card parsing would trigger a PHP fatal error if the source page was not well-formed XML and Tidy was not present on the system. Switched normalization to use the PHP DOM module which is always present, as we have no need for Tidy's extra features here. * Trying to fetch avatars from Google profiles failed and triggered a PHP warning due to the relative URL not being resolved during h-card parsing. Now passing profile page URL into hKit by sneaking a <base> tag in while we normalize the HTML source. * Profile pages without a "Link" header could trigger PHP notices due to a bad NULL -> array(NULL) conversion in LinkHeader::getLink(). Now checking that there was a return value before converting single return value into array.
2010-03-18Fix for xmpp/sms notification options appearing to be disabled on new ↵Brion Vibber
subscriptions. Base problem is that our caching-on-insert interferes with relying on column default values; the cached object is missing those fields, so they appear to be empty (null) when the object is retrieved from cache. Now explicitly setting them when inserting subscriptions, and cleaned up some code that had alternate code paths. May also have made auto-subscription work for remote OStatus subscribers, but can't test until magic sigs are working again.
2010-03-18Merge branch 'master' of git@gitorious.org:statusnet/mainline into testingBrion Vibber
2010-03-18Ensure that DB connection is active at start of User::updateKeys() and ↵Brion Vibber
Foreign_user::updateKeys(); calls to $this->_quote() require a live connection object and don't lazy-initialize themselves. May fix WSOD when changing incoming email address.
2010-03-18add exception on inconsistent db to User::getProfile()Evan Prodromou
2010-03-17Merge branch 'master' into testingBrion Vibber
2010-03-17Fix to regression for auto-subscribe - was backwards.Brion Vibber
2010-03-15Background deletion of user accounts. Notices are deleted in chunks, then ↵Brion Vibber
the user itself when they're all gone. While deletion is in progress, the account is locked with the 'deleted' role, which disables all actions with rights control. Todo: * Pretty up the notice on the profile page about the pending delete. Show status? * Possibly more thorough account disabling, such as disallowing all use for login and access. * Improve error recovery; worst case is that an account gets left locked in 'deleted' state but the queue jobs have gotten dropped out. This would leave the username in use and any undeleted notices in place.
2010-03-15Drop result ID from data objects on clone(). This keeps the original object ↵Brion Vibber
working if it was in the middle of a query loop, even if the cloned object falls out of scope and triggers its destructor. This bug was hitting a number of places where we had the pattern: $db->find(); while($dbo->fetch()) { $x = clone($dbo); // do anything with $x other than storing it in an array } The cloned object's destructor would trigger on the second run through the loop, freeing the database result set -- not really what we wanted. (Loops that stored the clones into an array were fine, since the clones stay in scope in the array longer than the original does.) Detaching the database result from the clone lets us work with its data without interfering with the rest of the query. In the unlikely even that somebody is making clones in the middle of a query, then trying to continue the query with the clone instead of the original object, well they're gonna be broken now.
2010-03-15Blow more timeline caches on notice delete. Fixes paging on public and ↵Brion Vibber
profile timelines after deleting something from the first page.
2010-03-12Merge commit 'origin/testing' into 0.9.xBrion Vibber
2010-03-12Scrub all atom output with common_xml_safe_str()Zach Copley
2010-03-12Add id and updated elements to atom sourceZach Copley
2010-03-11A null mimetype is not an enclosure (more likely than not means there was an ↵Craig Andrews
error)
2010-03-11Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.xSarven Capadisli
2010-03-11Drop timestamp cutoff parameter from User::getCurrentNotice() and ↵Brion Vibber
Profile::getCurrentNotice(). It's not currently used, and won't be efficient when we update the notice.profile_id_idx index to optimize for our id-based sorting when pulling user post lists for profile pages, feeds etc.
2010-03-10Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.xBrion Vibber
2010-03-10Fixup script for files w/ bogus data saved into file record ('h bug')Brion Vibber
2010-03-10Fix for attachment "h bug": posting a shortened link to an oembed-able ↵Brion Vibber
resource that has been previously used in the system would incorrectly save "h" as the item's type and title.
2010-03-08Fixed warning messages when auto-registering a new LDAP user.Jeffery To
On my test system (without memcache), while testing the LDAP authentication plugin, when I sign in for the first time, triggering auto-registration, I get these messages in the output page: Warning: ksort() expects parameter 1 to be array, null given in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 219 Warning: Invalid argument supplied for foreach() in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 224 Warning: assert() [function.assert]: Assertion failed in /home/jeff/Documents/code/statusnet/classes/Memcached_DataObject.php on line 241 (plus two "Cannot modify header information..." messages as a result of the above warnings) This change appears to fix this (although I can't really explain exactly why).
2010-03-06Fixed problem causing 500 error on notices containing a non-existent groupCiaran Gultnieks
2010-03-05Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.xZach Copley
2010-03-05A better way to safely delete Foreign_linksZach Copley
2010-03-05A better way to safely delete Foreign_linksZach Copley
2010-03-04Merge commit 'origin/testing' into 0.9.xBrion Vibber
Conflicts: lib/action.php lib/adminpanelaction.php
2010-03-03Revert "Revert "Show <activity:subject> and no activity actors for user feed""Zach Copley
This reverts commit e2578cfad68c45ca177c51997c4cc7c0abafbd9a.
2010-03-03Initial user role controls on profile pages, for owner to add/remove ↵Brion Vibber
administrator and moderator options. Buttons need to be themed.
2010-03-03Avoid notice on local group creation when uri isn't passed in at create time ↵Brion Vibber
(needs to be generated)
2010-03-03Use poster's subscribed groups to disambiguate group linking when a remote ↵Brion Vibber
group and a local group exist with the same name. (If you're a member of two groups with the same name though, there's not a defined winner.)
2010-03-02OStatus: save file records for enclosuresBrion Vibber
Also stripping id from foreign HTML messages (could interfere with UI) and disabled failing attachment popup for a.attachment links that don't have a proper id, so you can click through instead of getting an error. Issues: * any other links aren't marked and saved * inconsistent behavior between local and remote attachments (local displays in lightbox, remote doesn't) * if the enclosure'd object isn't referenced in the content, you won't be offered a link to it in our UI
2010-03-02Updated some references to the long gnone "isEnclosure" function to the new ↵Craig Andrews
"getEnclosure"
2010-03-02Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.xBrion Vibber
2010-03-02Merge branch 'master' of git@gitorious.org:statusnet/mainline into testingBrion Vibber
2010-03-02Dropped deprecated timestamp-based 'since' parameter for all API methods. ↵Brion Vibber
When it sneaks in it can cause some very slow queries due to mismatches with the indexing. Twitter removed 'since' support some time ago, and we've already removed it from the public timeline, so it shouldn't be missed.
2010-03-02Revert "Show <activity:subject> and no activity actors for user feed"Evan Prodromou
This reverts commit c25fc8a4b51466f13c41efc0565bf15f78f6cb4d.
2010-03-02don't duplicate title in summary in Atom output per RFC4287 4.2.13Evan Prodromou
2010-03-02Show <activity:subject> and no activity actors for user feedEvan Prodromou
We only need one author for user feeds: the user themselves. So, show the user as the activity:subject, and don't repeat the same activity:actor for every notice unnecessarily.
2010-03-01Correctly handle the case when MIME/Type doesn't know what file extension a ↵Craig Andrews
mime type maps to
2010-03-01Remove check for secret in token deletion on Subscription::cancel()Evan Prodromou
2010-03-01Better logging on bad token in subscriptionEvan Prodromou
2010-03-01drop tokens for OMB on unsubscribeEvan Prodromou
2010-02-27Merge branch 'testing' into 0.9.xEvan Prodromou
2010-02-27fix call of common_find_mentions() in Notice::saveReplies()Evan Prodromou
2010-02-27Use notice for context when deciding who @nickname refers toEvan Prodromou
In a federated system, "@nickname" is insufficient to uniquely identify a user. However, it's a very convenient idiom. We need to guess from context who 'nickname' refers to. Previously, we were using the sender's profile (or what we knew about them) as the only context. So, we assumed that they'd be mentioning to someone they followed, or someone who followed them, or someone on their own server. Now, we include the notice information for context. We check to see if the notice is a reply to another notice, and if the author of the original notice has the nickname 'nickname', then the mention is probably for them. Alternately, if the original notice mentions someone with nickname 'nickname', then this notice is probably referring to _them_. Doing this kind of context sleuthing means we have to render the content very late in the notice-saving process.
2010-02-27uri -> URI in interface textSiebrand Mazeland
2010-02-26blow cache on known repliesEvan Prodromou
2010-02-26bail out if the requested nickname is illegalCraig Andrews
2010-02-26Merge branch 'testing' into 0.9.xBrion Vibber
2010-02-25Fix a few keys that got dropped from statusnet.ini by mistakeBrion Vibber
2010-02-25Add lots of fun avatars to our Atom outputZach Copley