Commit Graph

41 Commits

Author SHA1 Message Date
Alexei Sorokin 6e5217dc3a [Foreign_link] Change the type of "credentials" to blob
TwitterOAuthClient::packToken uses \0 as a delimeter which can cause issues on
TEXT or VARCHAR.
2021-07-16 19:44:41 +01:00
Alexei Sorokin bee3dea9c2 [DATABASE] Add explicit indices for all foreign keys
This adds a requirement for all definitions that have foreign keys to also
require indices for all source (local) attributes mentioned in foreign keys.

MariaDB/MySQL creates indices for source attributes automatically, so this
serves as a way to get rid of those automatic indices and create clean explicit
ones instead.

In PostgreSQL, most of the time, indices on the source are necessary to
decrease performance penalty of foreign keys (like in MariaDB), but they aren't
created automatically, so this serves to remove that difference between
PostgreSQL and MariaDB.
2021-07-16 19:44:38 +01:00
Alexei Sorokin 665e4574da [DATABASE] Fix index identifiers and clean up redundant ones 2021-07-16 19:44:38 +01:00
Alexei Sorokin 26115482ef [SCHEMA] Improve timestamp storage
Avoid the use of deprecated MariaDB "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDB storage will be left intact and this
should not present any issues.

The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDB with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDB. But there is no such trigger implemented on
PostgreSQL as of this moment.
2021-07-16 19:44:37 +01:00
Alexei Sorokin eb993df072 [DATABASE] Fix MariaDB schema verification 2021-07-16 19:44:37 +01:00
Diogo Cordeiro f67a93eddc [CORE] Bump Database requirement to MariaDB 10.3+ 2019-08-03 17:47:23 +01:00
Neil E. Hodges 39ebb64b85 Added proper enabling and disabling of sending RTs to Twitter. 2016-03-21 07:12:52 -07:00
Mikael Nordfeldth e0084a6fdf Exception handling regarding Foreign_link 2015-07-18 11:39:34 +02:00
Mikael Nordfeldth e10d081a56 TwitterBridge is closer to working again 2015-07-17 21:03:37 +02:00
Mikael Nordfeldth 6cd7a4a400 TwitterBridge messing about, Twitter OAuth requires Authorization header now?
https://dev.twitter.com/oauth/reference/post/oauth/request_token says that
the request should be a GET with a specific HTTP header instead of query
string parameters for OAuth?
2015-07-17 18:54:39 +02:00
Mikael Nordfeldth 2f86cd8602 utf8mb4 conversion on database with index adjusts 2015-02-12 18:18:55 +01:00
Mikael Nordfeldth 93e878d7ca Make better use of Subscription class
removed lib/subs.php as it was essentially only a wrapper for Subscription
2013-09-19 17:29:05 +02:00
Mikael Nordfeldth 2a4dc77a63 The overloaded DB_DataObject function staticGet is now called getKV
I used this hacky sed-command (run it from your GNU Social root, or change the first grep's path to where it actually lies) to do a rough fix on all ::staticGet calls and rename them to ::getKV

   sed -i -s -e '/DataObject::staticGet/I!s/::staticGet/::getKV/Ig' $(grep -R ::staticGet `pwd`/* | grep -v -e '^extlib' | grep -v DataObject:: |grep -v "function staticGet"|cut -d: -f1 |sort |uniq)

If you're applying this, remember to change the Managed_DataObject and Memcached_DataObject function definitions of staticGet to getKV!

This might of course take some getting used to, or modification fo StatusNet plugins, but the result is that all the static calls (to staticGet) are now properly made without breaking PHP Strict Standards. Standards are there to be followed (and they caused some very bad confusion when used with get_called_class)

Reasonably any plugin or code that tests for the definition of 'GNUSOCIAL' or similar will take this change into consideration.
2013-08-18 13:13:56 +02:00
Mikael Nordfeldth 1a9a8ea730 staticGet for sub-Managed_DataObject classes now calls parent
The parent class for our database objects, Managed_DataObject, has a
dynamically assigned class in staticGet which objects get put into,
leaving us with less code to do the same thing.

We will probably have to move away from the DB_DataObject 'staticGet'
call as it is nowadays deprecated.
2013-08-12 19:46:44 +02:00
Evan Prodromou 9ca3c3d1c3 move core schema to class files 2011-08-22 17:52:02 -04:00
Evan Prodromou 83fb5e6023 Mass replacement of #-comments with //-comments
like leprous boils in our code. So, I've replaced all of them with //
comments instead. It's a massive, meaningless, and potentially buggy
change -- great one for the middle of a release cycle, eh?
2011-03-22 11:54:23 -04:00
Siebrand Mazeland b03ece26eb * i18n/L10n and translator documentation updates.
* whitespace and indentation updates
2010-09-28 23:21:09 +02:00
Zach Copley e3c4b0c85d A better way to safely delete Foreign_links 2010-03-05 03:55:56 +00:00
Zach Copley ec83890bc2 Take token field out of foreign_link
This undoes patch a49272d448
2009-08-25 15:48:06 -04:00
Evan Prodromou ff87732053 Merge branch '0.8.x' into testing
Conflicts:
	actions/twitterauthorization.php
	lib/oauthclient.php
	lib/twitter.php
	lib/twitterapi.php
	lib/twitteroauthclient.php
	scripts/twitterstatusfetcher.php
2009-08-24 16:55:49 -04:00
Zach Copley 5d5b9f7022 Add new Foreign_link col to store OAuth access token 2009-08-24 11:52:06 -04:00
Zach Copley c049931dc7 Return null if all columns in the compound primary key aren't specified 2009-08-18 23:46:08 +00:00
Zach Copley 3d13a44b66 Upgraded foreign_id column to handle new 64-bit Facebook user IDs.
See: http://developers.facebook.com/news.php?blog=1&story=226
2009-05-27 17:59:49 -07:00
Zach Copley f798d1ea43 Added dirty dates to Foreign_link 2009-04-28 17:08:20 -07:00
Zach Copley ad5dd9030b Add option to Twitter settings for importing Friends Timeline 2009-04-13 19:19:26 -07:00
Zach Copley e0fbf02bbf trac750 configurable sync flags for Facebook app (noticesync, replysync)
darcs-hash:20090105040212-7b5ce-37f6195649dc673241e4566a93183b13e428d98f.gz
2009-01-04 23:02:12 -05:00
Zach Copley fd6f9b9d76 trac750 Automatically update linked Facebook users' statuses
darcs-hash:20090105010407-7b5ce-559da13720b18e3c570e730326f5e5ef2b2dc1ab.gz
2009-01-04 20:04:07 -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 dccf8374cf trac750 - Exoskeleton of a nascent Facebook app
darcs-hash:20081206030132-7b5ce-96c38ab67edd3d58f8722ef25852a6143f05a86b.gz
2008-12-05 22:01:32 -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
zach 41b8c91c6b trac685 Twitter bridge - Sync Twitter friends
darcs-hash:20081117024624-462f3-91f148111c2c43ddd302fc63cfa8c8ef14e1f38e.gz
2008-11-16 21:46:24 -05: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 858e55f5b4 change how Foreign_link fetches, and fix mixup between user-ids and foreign-ids in twittersettings
darcs-hash:20080923054413-5ed1f-a317e07925101215e87d2db0c574d20c1cfac665.gz
2008-09-23 01:44:13 -04:00
Zach Copley 412eae10fe Twitter integration - Notices now broadcast (directly) to Twitter from linked accts.
darcs-hash:20080828192509-7b5ce-8387c67500c082eb5a0107c0f78d4cf5620825af.gz
2008-08-28 15:25:09 -04:00
Zach Copley bf14709fe2 Twitter integration - support for new foreign_link table and prefs now save/update
darcs-hash:20080828072205-7b5ce-16510357343f1d9a3acc696f39a28a723005f3a4.gz
2008-08-28 03:22:05 -04:00
Evan Prodromou ead192fa41 add a foreign_link table with prefs for the link
darcs-hash:20080827032423-84dde-90a4d5931c2292c9ec5febd0c90ed18f6ab93e90.gz
2008-08-26 23:24:23 -04:00