Commit graph

44 commits

Author SHA1 Message Date
redmatrix
f88dc84091 Merge https://github.com/redmatrix/redmatrix into pending_merge
Conflicts:
	view/es/htconfig.tpl
	view/es/update_fail_eml.tpl
2015-08-12 20:36:32 -07:00
redmatrix
a5989b0f31 coverup and ignore the illegal string offset message that some sites have been reporting. This does not fix it. A fix would be to examine the data that has been received and find out why it is mangled and trace this back to where it was mangled. 2015-07-14 16:54:16 -07:00
Klaus Weidenbach
e90c331bf6 Add PHP's xml module check and upload limits to setup.
And some documentation.
2015-05-24 02:58:52 +02:00
redmatrix
91d7b0f7eb more work isolating the projectname from core. 2015-05-17 16:28:16 -07:00
friendica
6537a65053 mysql schema typo, do the install check for store before chcking smarty, as that is where the dir is created, change install doc to point to install/schema_xxxxx.sql instead of database.sql 2015-03-15 15:36:01 -07:00
friendica
3ea77f0c10 INSTALL: 'store' is created during setup but not 'store/[data]/smarty3' and we explicitly check for the latter and report that it isn't there or isn't writable. Doh. 2015-02-19 15:14:14 -08:00
friendica
a088a8f03c remove extraneous debug file left over from postgres work. 2015-01-11 20:02:24 -08:00
Stefan Parviainen
686b6ee118 Use grouped select field for timezone selection 2015-01-01 14:44:50 +01: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
0e57b6cc8c convert application strings to en-US 2014-07-31 02:33:34 -07:00
friendica
3a31ddea2b provide os_mkdir to workaround permission issues with php mkdir 2014-07-16 01:07:00 -07:00
friendica
c74fd78993 move smarty compiled files to store/[data]/smarty3 - which puts all writeable areas of the server except the config file and logs under the "store" directory. We'll do logs at a future time. 2014-07-10 21:34:52 -07:00
friendica
49abe9d334 issue #479 - tag escaping not needed here. 2014-06-02 19:05:24 -07:00
friendica
61ed6ea273 issue #476 2014-05-31 16:10:31 -07:00
friendica
cc68e06dee setup: check for open https port with an invalid cert, even if configured to use http. Also a bit more word-smithing on the resultant error text but it's still not perfect. 2014-05-06 17:32:22 -07:00
sasiflo
f16fc1eb4f Added some more details about why browser-valid SSL certificates must be
used when SSL is used at all.

It is now in the check failure message in the installation routine, the
installation readme and in the documentation pages.
2014-04-10 23:41:18 +02:00
friendica
7375e30506 This should be a slight improvement in setting ciphers - we'll punt on RedHat but open up the list just for openssl distros which seem to have all the problems at the moment. 2014-03-25 15:19:18 -07:00
friendica
ba6765a403 report curl errors during install when they are most needed 2014-03-23 15:48:08 -07:00
Thomas Willingham
93000ebad6 Actually create syschan during install 2014-03-07 17:29:36 +00:00
friendica
b39c0d54c0 some windows fixes 2014-02-02 14:06:36 -08:00
friendica
352e4dc21b add store directory write check to install checks 2014-01-08 18:20:47 -08:00
friendica
a7a775a718 install redbasic during setup so that at least one theme is registered. Otherwise none of the display settings seem to work very well. 2013-12-16 00:25:08 -08:00
friendica
b3fe221b7f issue #240 - we were using htmlentities instead of htmlspecialchars in several places, and this was a bit greedy in the set of characters which were converted from utf-8 to HTML entities. Also brought mail attachments up to date so they are rendered identically to item attachments. 2013-12-11 23:13:36 -08:00
friendica
310ccfda99 INSTALL for dummies - step 1: ensure that we throw an ugly error message in their face
if there's an ugly error when we first try to install. DON'T white screen until after
they've got it running.
2013-11-05 19:45:02 -08:00
Thomas Willingham
9945c1844c Issue #181 2013-10-14 21:44:35 +01:00
dsp1986
ff56e95c6e fix include paths 2013-09-17 09:41:48 +02:00
friendica
383a9bab96 if somebody changes the site url during setup - check if we can connect to the new url e.g. it has a valid cert. 2013-05-16 04:27:28 -07:00
friendica
d20a0cb6ab fix intltext template driver 2013-05-15 22:27:35 -07:00
friendica
343fb61bad another typo 2013-05-15 21:01:06 -07:00
friendica
2869a22392 more setup work 2013-05-15 20:59:39 -07:00
friendica
f4630dd19c typo 2013-05-15 20:47:55 -07:00
friendica
264e1c0cc6 add port settings to setup 2013-05-15 20:45:35 -07:00
friendica
02bd65ba4b add certificate check to setup 2013-05-15 18:35:16 -07:00
friendica
5e4b9d7766 disable pcss when installing since modules don't yet work and pcss uses the view module, plus weekly doc update 2013-05-14 21:25:58 -07:00
friendica
6f7e002922 add db_port to setup and cli_startup - still need to set the port in mod/setup 2013-05-10 03:37:41 -07:00
friendica
552f03122c db abstraction layer 2013-04-22 20:02:21 -07:00
friendica
70e766c2bf xss attack vector in bbcode.php - check for proc_open being disabled for security reasons in install 2013-02-26 19:41:44 -08:00
friendica
c45a8e2763 make sure old fetch_url calls (and those that provided their own curl wrapper) go through z_fetch_url 2013-02-25 20:06:33 -08:00
friendica
4c5d2fe0fe check for mcrypt during install, allow admin email account to be admin *if* it's the first account. 2013-01-27 22:49:18 -08:00
Zach Prezkuta
ddb2a8c23a add Smarty templates for international templates 2013-01-10 21:24:10 -07:00
friendica
5cb8db64cf bypass smarty for intletext templates 2013-01-07 20:25:38 -08:00
Zach Prezkuta
b4a95460e6 fix show-stopping bugs 2013-01-06 19:34:54 -07:00
friendica
7501717d2e ensure admin setting gets passed through setup 2012-11-06 23:55:05 -08:00
friendica
f5b1eee177 mv mod_install to mod_setup, conflict with name of install dir 2012-11-03 14:59:46 -07:00
Renamed from mod/install.php (Browse further)