aboutsummaryrefslogtreecommitdiffstats
path: root/mod/search.php
Commit message (Collapse)AuthorAgeFilesLines
* provide a json feed of search resultsfriendica2015-01-261-0/+17
|
* hide friends broken, add parameter for item search by verbfriendica2015-01-131-0/+1
|
* wall tagsfriendica2014-12-151-0/+1
|
* PostgreSQL support initial commitHabeas Codice2014-11-131-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* honour sys channel permissions for who can view the sys owned contentfriendica2014-07-261-1/+7
|
* cleanupfriendica2014-06-191-1/+1
|
* don't provide a second (actually third counting the navbar) search box on ↵friendica2014-06-031-1/+2
| | | | the search page if you've got saved searches turned on. This should solve some problems with duplicate html id's (and save wasn't working anyway). If you don't have saved search ability (which will provide a saved search widget in the sidebar), provide a simple search box in the main content region but without save ability.
* add sys channel (discover) posts to "anonymous" search. They will by default ↵friendica2014-06-031-7/+11
| | | | be public.
* add fh to other page templatesfriendica2014-03-271-0/+1
|
* Stop Google DDoSing me by providing block_public_search, which unlikeThomas Willingham2014-01-191-3/+4
| | | | block_public will block *only* searching without an observer.
* preparatory work for supporting a "list view" mode for conversations. This ↵friendica2014-01-081-0/+1
| | | | would be useful for forum-like channels and/or block-oriented themes.
* comanchify mod_search - we've got three modules left to Comanchify: admin, ↵friendica2013-12-201-121/+3
| | | | directory and message - each of which introduces "interesting challenges"
* check that every invocation of htmlspecialchars has the right arg listfriendica2013-12-121-3/+3
|
* saved search icon work and bugfixes for #tags not beeing deletable and save ↵marijus2013-12-101-1/+1
| | | | button showing if saved search is disabled
* search should respect max items to load as wellmarijus2013-11-221-0/+2
|
* fix search to display more than one itemfriendica2013-10-101-3/+3
|
* one more edge case in the public perms - don't match perms = 0 which is ↵friendica2013-09-221-1/+1
| | | | private, this and prior checkin are for issue #114
* fixes for display and search privacy enforcementfriendica2013-09-221-25/+37
|
* get rid of more variables with dashes in the names - use underscore *except* ↵friendica2013-08-151-1/+1
| | | | in CSS. These were probably already here, but if you see any - please keep them out of PHP and MySQL where they sometimes get interpreted as a subtraction operation and are a bugger to find.
* another temporary fix to mod/search to only return one of each post.friendica2013-06-231-6/+6
|
* make tag searches work at least as well as the normal search - which still ↵friendica2013-06-201-1/+1
| | | | is quite broken, but at least return some results without introducing too many security holes
* fix mod-display when not logged in.friendica2013-06-181-1/+1
|
* get search page working with live-update and endless scroll, still not ↵friendica2013-05-091-28/+29
| | | | perfect - there may be duplicated content and possibly unauthorised content and 'timeago' not working correctly - will deal with those later, but at least you can see results.
* small updatesfriendica2013-05-081-1/+0
|
* Updated build_query for midThomas Willingham2013-03-251-1/+1
|
* rename 'uri' (and parent_uri) to 'mid' (and parent_mid) since these no ↵friendica2013-03-211-4/+4
| | | | longer remotely resemble uri's and are actually message_id's. This change is potentially destabilising because it touches a lot of code and structure. But it has to get done and there's no better time than the present.
* progress on tag deliveryfriendica2013-02-111-2/+2
|
* mod_display - no fun. Not working at all. But a bit of progress.friendica2013-02-101-1/+2
|
* security fixes related to directory access and sites that are off the gridfriendica2013-01-221-0/+5
|
* more heavy lifting on API - though need to re-visit events and give them all ↵friendica2013-01-191-2/+1
| | | | message_ids from the origination site.
* typofriendica2013-01-181-1/+1
|
* link people search from navbarfriendica2013-01-181-2/+2
|
* verify table needs auto_increment flagfriendica2013-01-021-25/+87
|
* turn off some "advanced" features by default, like archives and saved search ↵friendica2012-11-031-0/+3
| | | | - even though we don't yet have a screen to turn them on. That will come.
* updatesfriendica2012-09-091-1/+4
|
* updatesfriendica2012-07-141-16/+30
|
* move saved searches to new taxonomyfriendica2012-07-111-14/+17
|
* create fetch_tags function, make search work again, change logofriendica2012-07-101-10/+12
|
* fewer "bob smith to bob smith via wall-to-wall".friendica2012-06-021-1/+1
|
* possible sql injection in searchfriendica2012-05-291-1/+1
|
* Merge https://github.com/friendica/friendica into pullfriendica2012-05-291-6/+12
|\ | | | | | | | | Conflicts: mod/search.php
| * Saved searches now can search for tags as wellMichael Vogel2012-05-261-2/+1
| |
| * Speed optimisation by enabling the posibility of the MySQL fulltext engineMichael Vogel2012-05-261-5/+11
| |
* | bugfixes: private photo embeds and search for strings with %friendica2012-05-291-2/+2
|/
* search with leading @ performs directory search (# for tag search), nothing ↵friendica2012-05-191-1/+5
| | | | for text search
* backend support for 'x' deliveries per process - x is configurable, more ↵friendica2012-05-191-0/+6
| | | | importantly any search starting with # is automatically a tag search. TODO: Need to extend this to people searches starting with @
* separate tag search from body searchfriendica2012-04-231-8/+22
|
* Merge branch 'master' of https://github.com/friendica/friendicaAlexander Kampmann2012-04-051-13/+12
|\ | | | | | | | | | | Conflicts: include/config.php update.php
| * suppress duplicates in searchfriendica2012-04-031-7/+7
| |
| * warning cleanupfriendica2012-03-301-8/+7
|/