Commit graph

444 commits

Author SHA1 Message Date
Stefan Parviainen
93735df2c7 Allow tags in mail, many profile fields, and admin info 2015-01-13 17:54:40 +01:00
Stefan Parviainen
adc9564b5c Refactor mention code to make it more reusable 2015-01-12 20:01:07 +01:00
friendica
68c612c597 fix shares that are processed with markdown (regression, this was pulled from diaspora2bb a couple weeks back as it was affecting diaspora input, but here we're dealing with red input only) 2015-01-01 22:30:54 -08:00
friendica
50943f439c issue #777, make photo cache time configurable, read the comments. 2014-12-27 18:19:51 -08:00
Stefan Parviainen
62dabecf97 Show tags in other channels profile field to make it easier to navigate to the channels 2014-12-07 16:19:22 +01:00
Habeas Codice
ac27db22c1 Merge remote-tracking branch 'upstream/master'
Conflicts:
	boot.php
	include/dba/dba_driver.php
	include/diaspora.php
	include/follow.php
	include/session.php
	include/zot.php
	mod/photos.php
	mod/ping.php
2014-11-13 13:06:31 -08:00
Habeas Codice
1a5a5c7edb PostgreSQL support initial commit
There were 11 main types of changes:
- UPDATE's and DELETE's sometimes had LIMIT 1 at the end of them. This is not only non-compliant but
it would certainly not do what whoever wrote it thought it would. It is likely this mistake was just
copied from Friendica. All of these instances, the LIMIT 1 was simply removed.
- Bitwise operations (and even some non-zero int checks) erroneously rely on MySQL implicit
integer-boolean conversion in the WHERE clauses. This is non-compliant (and bad programming practice
to boot). Proper explicit boolean conversions were added. New queries should use proper conventions.
- MySQL has a different operator for bitwise XOR than postgres. Rather than add yet another dba_
func, I converted them to "& ~" ("AND NOT") when turning off, and "|" ("OR") when turning on. There
were no true toggles (XOR). New queries should refrain from using XOR when not necessary.
- There are several fields which the schema has marked as NOT NULL, but the inserts don't specify
them. The reason this works is because mysql totally ignores the constraint and adds an empty text
default automatically. Again, non-compliant, obviously. In these cases a default of empty text was
added.
- Several statements rely on a non-standard MySQL feature
(http://dev.mysql.com/doc/refman/5.5/en/group-by-handling.html). These queries can all be rewritten
to be standards compliant. Interestingly enough, the newly rewritten standards compliant queries run
a zillion times faster, even on MySQL.
- A couple of function/operator name translations were needed (RAND/RANDOM, GROUP_CONCAT/STRING_AGG,
UTC_NOW, REGEXP/~, ^/#) -- assist functions added in the dba_
- INTERVALs: postgres requires quotes around the value, mysql requires that there are not quotes
around the value -- assist functions added in the dba_
- NULL_DATE's -- Postgres does not allow the invalid date '0000-00-00 00:00:00' (there is no such
thing as year 0 or month 0 or day 0). We use '0001-01-01 00:00:00' for postgres. Conversions are
handled in Zot/item packets automagically by quoting all dates with dbescdate().
- char(##) specifications in the schema creates fields with blank spaces that aren't trimmed in the
code. MySQL apparently treats char(##) as varchar(##), again, non-compliant. Since postgres works
better with text fields anyway, this ball of bugs was simply side-stepped by using 'text' datatype
for all text fields in the postgres schema. varchar was used in a couple of places where it actually
seemed appropriate (size constraint), but without rigorously vetting that all of the PHP code
actually validates data, new bugs might come out from under the rug.
- postgres doesn't store nul bytes and a few other non-printables in text fields, even when quoted.
bytea fields were used when storing binary data (photo.data, attach.data). A new dbescbin() function
was added to handle this transparently.
- postgres does not support LIMIT #,# syntax. All databases support LIMIT # OFFSET # syntax.
Statements were updated to be standard.

These changes require corresponding changes in the coding standards. Please review those before
adding any code going forward.

Still on my TODO list:
- remove quotes from non-reserved identifiers and make reserved identifiers use dba func for quoting
- Rewrite search queries for better results (both MySQL and Postgres)
2014-11-13 12:21:58 -08:00
friendica
37742be6af some more work on sys publishing 2014-11-11 18:57:59 -08:00
friendica
570577a990 a couple of places where we need to look for a sys channel euid. 2014-11-11 18:05:50 -08:00
friendica
a80e696b77 wall posted comment to a top-level wall post which arrived via a route (e.g. was posted to a forum) had no route, hence downstream recipients report route mismatch 2014-11-03 17:35:42 -08:00
friendica
7d9f785758 if any privacy tags are created on a top level post, restrict the post; since it could have been quite sensitive. If there were errors processing the actual tag restrict the post to the profile owner. Also make the "privacy tag over-rides ACL" behaviour configurable. Default is that privacy tags over-ride the ACL. 2014-10-28 20:01:44 -07:00
friendica
9cc76cb33d several unrelated things - auto_follow wasn't working for new accounts, error returned in private mention to a collection, and added auto-completion to photo tags; though it only matches people so the hover text is now wrong. Also made the photo edit form XHTML (XML) compliant. 2014-10-27 19:23:40 -07:00
Thomas Willingham
38801f802f Issue #661 2014-10-24 17:46:31 +01:00
friendica
58c692e389 improved wall-to-wall detection for comments so we can handle Diaspora signing and wall-to-wall attribution correctly.
Do it at the point of submission. This also fixes a potential bug in yesterday's wall-to-wall permission setting,
if it was a local comment to a remote post.
2014-10-22 20:39:49 -07:00
friendica
ed7712cfbf private forum issues 2014-10-21 16:33:35 -07:00
friendica
3d0d36b2bc fix diaspora reshare tags 2014-10-10 19:14:37 -07:00
friendica
191ef124cf add 'nopush' option to the post API so somebody could bulk load a bunch of existing content via the API without invoking the notifier and sending each out as a fresh post. 2014-10-05 01:09:57 -07:00
friendica
87a6f25769 try to sort out walltowall translation for diaspora recipients 2014-09-19 02:22:24 -07:00
friendica
c6d07feff5 This is long overdue - use a symblic constant NULL_DATE instead of the easily mis-typed sequence '0000-00-00 00:00:00' 2014-09-08 20:35:15 -07:00
friendica
7001f41d3d provide a config option to prevent wall uploads (photos and files) from being set to the same ACL as the containing post, and instead are uploaded with public visibility (no ACL). This is to prevent folks on other networks from seeing prohibited signs for things uploaded into a private conversation. It is primarily useful when posting to collections that have mixed folks from red and other networks and an otherwise public (typical) profile. Consequently, these uploads will match your chosen default visibility for photos and storage and not that of the containing conversation item (and is only useful if the default visibility is public). This choice must be explained adequately because it represents a complex series of tradeoffs and side effects. It will reduce complaints from other networks about blocked content, but essentially forces you to use another method (dav or the photos page) if you wish to upload protected files/media. 2014-09-02 21:11:09 -07:00
friendica
88f8900ac5 various diaspora issues 2014-08-29 17:31:40 -07:00
friendica
5d2dc4e8fd switch everything over to crypto_encapsulate() 2014-08-23 02:45:21 -07:00
friendica
831714f0f0 profile edit - missing visibility and drop link on non-default profiles, re-arrange order of replacing red#matrix smilie so it works correctly, accept a post with body content of '0' which was interpreted by x() as nothing (was treated as integer). 2014-08-21 16:46:24 -07:00
friendica
b9dffa9107 escape tags when using markdown. Strange things happen if you put HTML entities in the text. 2014-08-14 18:00:48 -07:00
friendica
5dab65d783 make mention tagging by webbie do the right thing. 2014-08-10 20:38:14 -07:00
friendica
e9caf9db6a a couple of "not quite public" fixes 2014-08-08 15:27:17 -07:00
friendica
2cff122d6f public scope delivery issues 2014-08-06 21:16:24 -07:00
friendica
86bccf35a2 basic 'notpublic' bits working 2014-08-06 19:24:46 -07:00
friendica
10641b5598 issues #542 #543 - mentions not linked on editing a post if they contained a forum indicator. 2014-07-24 16:48:58 -07:00
friendica
7b1901c2c2 turn that into a feature 2014-07-02 16:53:40 -07:00
friendica
c037a5083c optionally allow zrl usage from specific markdown sources 2014-07-01 18:38:44 -07:00
friendica
fc69220b94 easter egg 2014-07-01 18:21:22 -07:00
friendica
0074ef0bf3 rule of snakes #1, kill the snake.
tinymce is gone. if you want a visual editor, figure out what you want and make it happen.
If you don't want a visual editor, do nothing.
This is in the community's hands. I don't need a visual editor.
2014-06-28 05:05:34 -07:00
friendica
8b545d91db notification being sent for comments from blocked connections on same site. 2014-06-26 16:24:53 -07:00
friendica
525daa7475 fix space around brackets changing. 2014-06-19 20:38:38 -07:00
friendica
72f00d6e04 issues with editing webpage permissions 2014-06-15 18:58:02 -07:00
friendica
2d6a1795b7 ensure item_private tracks acl fields on edit 2014-06-15 02:32:12 -07:00
friendica
b67c8ec8b9 webpage permissions weirdness 2014-06-14 16:35:38 -07:00
friendica
722b6c78cb fix author delete (non-owner) 2014-05-14 03:10:36 -07:00
friendica
2c27ba66a5 zrlify (turn into zmg) any relevant img tags in a post. 2014-05-13 20:17:52 -07:00
friendica
f1eafbf47d core fixes to allow statusnet connector to work 2014-05-06 19:17:06 -07:00
friendica
fc550ae330 issue #432 permission changes lost editing webpage (and other non-post items) 2014-05-04 17:10:33 -07:00
friendica
1eb8e570bf tag anyone 2014-04-15 18:35:22 -07:00
friendica
d7aaff459f let normal hashtags be quoted strings also 2014-04-12 16:58:19 -07:00
friendica
5cb7e48dad major cleanup of handle_tag() 2014-04-12 15:53:52 -07:00
friendica
567b5d053d handle new tag declarations 2014-04-12 03:31:24 -07:00
friendica
71929c6caa add forum mode to tag handling 2014-04-12 00:56:04 -07:00
friendica
50c608482a mod/item - get rid of some failed experiments, duplicated code and unused code. 2014-04-06 16:17:21 -07:00
friendica
8b0721cf35 this makes rpost to another channel work somewhat - but there are issues, since the ACL will belong to the wrong channel. Leaving disabled for now. I don't know that we can solve all the issues without a different design so this may end up in a plugin for those who are willing to put up with the shortcomings. 2014-04-05 03:53:04 -07:00
friendica
4901ef8faf provide the ability for rpost to post as another of your channels. This does not yet work, so the functionality has not been enabled. 2014-04-05 02:32:07 -07:00
friendica
f832e59585 doc updates, plus back-end work for rpost to let you post to a different channel than your current logged-in channel. Need the same for rbmark back-end. Then we "just" need a selector widget on the editor forms. 2014-04-04 15:25:18 -07:00
friendica
6ba32d714d save notes every ten seconds while focused, then save them once more on focusout 2014-04-01 14:52:47 -07:00
friendica
85d61813ca another complication to deletion 2014-03-28 01:19:30 -07:00
friendica
34403d3bd3 fix delete missing permission check 2014-03-28 01:12:52 -07:00
friendica
d99eaf1510 a few more delete fixes 2014-03-27 20:43:37 -07:00
friendica
a6d8668a5f try and sort out the item delete mess 2014-03-27 20:28:48 -07:00
friendica
2b6feeb835 this will probably fix the uploaded photo permission issue, if not it should be close 2014-03-27 15:56:31 -07:00
friendica
267283748f Red API: /api/red/item/new ; which is like /api/statuses/update except it uses Red semantics and returns success/failure indication. 2014-03-04 19:57:54 -08:00
friendica
3bddaa9e04 title missing in private mention posts 2014-02-20 15:00:29 -08:00
friendica
5747e20e50 some more snakebite and fix up include/account - forgot about that inline array stuff 2014-02-18 16:59:31 -08:00
friendica
df22a78936 Merge pull request #314 from zzottel/master
Make @!-tags safer
2014-02-17 15:09:11 +11:00
friendica
ebd52368bb strip hard-wired zids from posted links as they will have the wrong identity when somebody tries to view the link 2014-02-16 14:13:26 -08:00
friendica
eadf5121d0 rev update and a minor fix (missing param) to force_refresh 2014-02-14 12:39:15 -08:00
zottel
7a6fcd9ea4 make sure the user can't inadvertently send a post with @!-tags to an
unintended audience because he had browsed the Matrix by collection or
by contact
2014-02-14 11:08:05 +01:00
friendica
b5728fa42e fixes to thing profile assignments 2014-02-11 16:56:39 -08:00
friendica
a7fa14800d better bookmark escaping 2014-02-10 01:44:21 -08:00
friendica
a76c53657b don't add bookmark tags to naked links inside code blocks 2014-02-10 01:11:59 -08:00
friendica
c5f0b85357 fix wall photos 2014-02-09 00:30:43 -08:00
friendica
e346aa7560 that's better 2014-02-08 12:08:07 -08:00
friendica
e71571f619 revert last fix, it double tags 2014-02-08 12:02:45 -08:00
friendica
92dea7888b allow somebody to type #^{{naked link}}
--  auto-linkify it and create a bookmark tag.
2014-02-08 11:53:47 -08:00
friendica
ae6bd7dc1e fix issue with double linkify in the git feed 2014-02-07 15:41:31 -08:00
friendica
9b2dc9b87c make all naked links bookmark-able 2014-02-06 16:22:40 -08:00
friendica
8a11c29413 make links in comments bookmark-able 2014-02-04 19:39:56 -08:00
friendica
9ce3dac479 some tagging fixes - including old bugs which were never reported 2014-02-03 19:54:32 -08:00
friendica
876f5d4de0 transmit, receive, and parse bookmarks 2014-02-03 19:38:15 -08:00
friendica
d5bf53c54c bring photo tagging back which hasn't worked since forking from Friendica - this is untested and displaying photo tags will now be broken as we're now storing tags with the item attached to the photo and not in the photo. But the point is we've eliminated the OStatus/SWAP0 forced spam crap and can start fresh. 2014-01-19 23:37:46 -08:00
friendica
ed9a72ecbe preserve mid on edits 2014-01-10 19:01:24 -08:00
friendica
db8ebc9f37 some minor cleanup on plinks for some very subtle permissions issues 2014-01-09 15:45:17 -08:00
friendica
587c5d3e46 a few fixes to webpage editing 2014-01-04 13:44:43 -08:00
cvogeley
24850a4ea4 Merge pull request #254 from cvogeley/master
Webpage fixes for the moment without the fix for page not found after editing a webpage
2014-01-03 12:28:34 -08:00
friendica
76106e16d5 fix attachment rendering for preview 2014-01-01 21:09:12 -08:00
Christian Vogeley
22e94d7d68 Correct wrong service class check for webpages 2013-12-31 16:03:25 +01:00
friendica
6e81c332b7 group ACL control using tags (group must be "visible") 2013-12-29 23:47:19 -08:00
friendica
3f110567a1 handle exclusive tags and add to ACL 2013-12-29 16:30:11 -08:00
friendica
c03c0724ed basic support for exclusion tags - we just need to use the results to tweak the ACL. 2013-12-29 16:12:39 -08:00
friendica
c1a85ccbec add ability to set created date/time from the api 2013-12-22 14:29:15 -08:00
friendica
5279f3bf6f issue #237 - when manually changing an uploaded photo URL in a post to an invalid URL that happens to not throw an error, it affects the ability to parse the URL to see if it's a local image and correct permissions. The correct way to do this is to change the '-2' to '-1' if you want 640 instead of 320 and '-0' if you want the original size - which is not likely to win you many friends if it happens to be a 42 megapixel photo. We might have limits in place to prevent monster photos from destroying everybody's streams, but many services you export the post to will probably not. 2013-12-10 20:48:54 -08:00
friendica
7aa7f0f4eb allow editing posts on connectors that support edits 2013-11-26 15:50:30 -08:00
friendica
fe9162395a sort out the preview icons 2013-11-25 14:54:14 -08:00
friendica
cbe096dd90 wp-to-red: now supports editing, titles, and native permalinks 2013-11-25 14:20:57 -08:00
friendica
c63a18a250 Add some message_id meta information for wordpress posts so we'll know where to send comments 2013-11-24 20:28:51 -08:00
friendica
13538cdd21 pull in some posts when we first connect with a new channel (if allowed to) - if not allowed to, do it if that condition changes 2013-11-17 19:22:24 -08:00
friendica
251ba6db30 fix photo permissions on encrypted posts 2013-11-13 03:15:07 -08:00
friendica
7381326b7a provide expire feature on post and comments as well as private messages. This requires a feature setting and is currently unmaskable - if the author says it's gone, there's not a lot you can do to stop it or try and save it. It's gone. 2013-11-07 00:47:50 -08:00
friendica
c61a0d9dab private tagged posts weren't creating second delivery chain - they were incorrectly being marked as "in a reshare" due to being obscured. 2013-11-04 16:44:23 -08:00
friendica
d39f1c570c part one - honour system.tagifonlyrecip pconfig, default is false - not ready to deal with the second part yet (changing the tag char for tag_deliver channels) without a bit more discussion/concensus. 2013-10-19 16:22:07 -07:00
friendica
100043da38 oauth wasn't logging in properly, also fixed api status_show to return last public post, not the last private post 2013-10-15 15:51:20 -07:00
friendica
9787872778 linkify post categories 2013-10-14 15:34:47 -07:00
Olaf Conradi
095d1bae26 Typo in replaced variable 2013-10-12 19:27:39 +02:00